diff --git a/pom.xml b/pom.xml index df2fa5f47..e340372a8 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,12 @@ 4.0.0 org.springframework.data - spring-data-couchbase + spring-data-couchbase-parent 5.4.0-SNAPSHOT + pom - Spring Data Couchbase - Spring Data integration for Couchbase + Spring Data Couchbase Parent + Spring Data integration for Couchbase - Parent https://github.com/spring-projects/spring-data-couchbase @@ -17,14 +18,12 @@ 3.4.0-SNAPSHOT + 3.7.4 3.4.0-SNAPSHOT spring.data.couchbase 7.0.1.Final - 3.1.0 - 2.10.13 - 2.13.4 4.0.0 @@ -42,53 +41,6 @@ - - com.querydsl - querydsl-apt - ${querydsl} - jakarta - - - javax.inject - javax.inject - - - - - - javax.inject - javax.inject - 1 - test - - - - org.springframework - spring-context-support - - - - org.springframework - spring-web - - - - org.springframework - spring-tx - - - - ${project.groupId} - spring-data-commons - ${springdata.commons} - - - - com.couchbase.client - java-client - ${couchbase} - - jakarta.enterprise @@ -125,6 +77,7 @@ test + + org.testcontainers @@ -151,6 +107,7 @@ + + @@ -247,116 +207,96 @@ test + + + spring-data-couchbase + spring-data-couchbase-querydsl + spring-data-couchbase-testutils + + - org.apache.maven.plugins - maven-compiler-plugin - - none - - - - test-annotation-processing - generate-test-sources - - testCompile - - - only - - org.springframework.data.couchbase.repository.support.CouchbaseAnnotationProcessor - - target/generated-test-sources - - -Aquerydsl.logInfo=true - - - - - - - - org.apache.maven.plugins maven-surefire-plugin + 3.3.0 - false - false + false + **/*.scala + **/*Spec.class **/*Test.java - **/*Tests.java - - **/*IntegrationTest.java - **/*IntegrationTests.java - + flaky org.apache.maven.plugins maven-failsafe-plugin + 3.3.0 + + + org.apache.maven.plugins + maven-compiler-plugin + + + + - org.apache.maven.plugins - maven-assembly-plugin - - - org.apache.maven.plugins - maven-javadoc-plugin + org.codehaus.mojo + exec-maven-plugin + 1.3.2 - true + true + java - - antora-process-resources - - - - src/main/antora/resources/antora-resources - true - - - - - - antora - - - - org.antora - antora-maven-plugin - - - - diff --git a/spring-data-couchbase-querydsl/pom.xml b/spring-data-couchbase-querydsl/pom.xml new file mode 100644 index 000000000..3f6466caa --- /dev/null +++ b/spring-data-couchbase-querydsl/pom.xml @@ -0,0 +1,214 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-couchbase-querydsl + 5.4.0-SNAPSHOT + + Spring Data Couchbase Querydsl + Spring Data integration for Couchbase + https://github.com/spring-projects/spring-data-couchbase + + + org.springframework.data + spring-data-couchbase-parent + 5.4.0-SNAPSHOT + + + + 3.7.4 + 3.4.0-SNAPSHOT + spring.data.couchbase + 7.0.1.Final + + + + + + org.testcontainers + testcontainers-bom + ${testcontainers} + pom + import + + + + + + + + com.querydsl + querydsl-apt + ${querydsl} + jakarta + + + javax.inject + javax.inject + + + + + + org.springframework.data + spring-data-couchbase + 5.4.0-SNAPSHOT + + + + org.springframework.data + spring-data-couchbase-testutils + 0.0.99 + test + + + + javax.inject + javax.inject + 1 + test + + + + com.couchbase.client + java-client + ${couchbase} + + + + + jakarta.validation + jakarta.validation-api + ${validation} + true + + + + jakarta.el + jakarta.el-api + ${jakarta.el} + provided + true + + + + org.glassfish + jakarta.el + ${jakarta.el} + provided + true + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + none + + + + test-annotation-processing + generate-test-sources + + testCompile + + + only + + org.springframework.data.couchbase.repository.support.CouchbaseAnnotationProcessor + + target/generated-test-sources + + -Aquerydsl.logInfo=true + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + false + false + + **/*Test.java + **/*Tests.java + + + **/*IntegrationTest.java + **/*IntegrationTests.java + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + false + + **/*IntegrationTest.java + **/*IntegrationTests.java + + + + + + integration-test + verify + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + + + + + + + antora-process-resources + + + + src/main/antora/resources/antora-resources + true + + + + + + + + + spring-snapshot + https://repo.spring.io/snapshot + + true + + + false + + + + spring-milestone + https://repo.spring.io/milestone + + + diff --git a/src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/querydsl/document/AbstractCouchbaseQueryDSL.java diff --git a/src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/querydsl/document/CouchbaseDocumentSerializer.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseAnnotationProcessor.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseAnnotationProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseAnnotationProcessor.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseAnnotationProcessor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java similarity index 98% rename from src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java index 8b7cf9380..bdf7ec6ed 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java +++ b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslCouchbasePredicateExecutor.java @@ -44,6 +44,7 @@ /** * Couchbase-specific {@link QuerydslPredicateExecutor} that allows execution {@link Predicate}s in various forms. + * This is referenced by reflection in {@link CouchbaseRepositoryFactory} * * @author Michael Reiche * @since 5.0 @@ -57,6 +58,7 @@ public class QuerydslCouchbasePredicateExecutor extends QuerydslPredicateExec * Creates a new {@link QuerydslCouchbasePredicateExecutor} for the given {@link CouchbaseEntityInformation} and * {@link CouchbaseOperations}. Uses the {@link SimpleEntityPathResolver} to create an {@link EntityPath} for the * given domain class. + * This is referenced by reflection in {@link CouchbaseRepositoryFactory} * * @param entityInformation must not be {@literal null}. * @param couchbaseOperations must not be {@literal null}. diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslPredicateExecutorSupport.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslPredicateExecutorSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/QuerydslPredicateExecutorSupport.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/QuerydslPredicateExecutorSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuery.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuery.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseQuerySupport.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java b/spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java rename to spring-data-couchbase-querydsl/src/main/java/org/springframework/data/couchbase/repository/support/SpringDataCouchbaseSerializer.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Airline.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/Airline.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Airline.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/Airline.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectioned.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectioned.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirlineCollectioned.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectioned.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectionedRepository.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectionedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirlineCollectionedRepository.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineCollectionedRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java diff --git a/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/Config.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/Config.java new file mode 100644 index 000000000..a318af578 --- /dev/null +++ b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/Config.java @@ -0,0 +1,207 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain; + +import java.lang.reflect.InvocationTargetException; + +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.auditing.DateTimeProvider; +import org.springframework.data.couchbase.CouchbaseClientFactory; +import org.springframework.data.couchbase.SimpleCouchbaseClientFactory; +import org.springframework.data.couchbase.cache.CouchbaseCacheManager; +import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; +import org.springframework.data.couchbase.core.CouchbaseTemplate; +import org.springframework.data.couchbase.core.ReactiveCouchbaseTemplate; +import org.springframework.data.couchbase.core.convert.CouchbaseCustomConversions; +import org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter; +import org.springframework.data.couchbase.core.convert.translation.JacksonTranslationService; +import org.springframework.data.couchbase.core.convert.translation.TranslationService; +import org.springframework.data.couchbase.core.mapping.CouchbaseMappingContext; + +import org.springframework.data.couchbase.repository.auditing.EnableCouchbaseAuditing; +import org.springframework.data.couchbase.repository.auditing.EnableReactiveCouchbaseAuditing; +import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; +import org.springframework.data.couchbase.repository.config.EnableReactiveCouchbaseRepositories; +import org.springframework.data.couchbase.repository.config.ReactiveRepositoryOperationsMapping; +import org.springframework.data.couchbase.repository.config.RepositoryOperationsMapping; + +import com.couchbase.client.core.deps.com.fasterxml.jackson.databind.DeserializationFeature; +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; +import com.couchbase.client.java.json.JacksonTransformers; + +/** + * @author Michael Nitschinger + * @author Michael Reiche + * @author Jorge Rodriguez Martin + * @since 3.0 + */ +@Configuration +@EnableCouchbaseRepositories +@EnableReactiveCouchbaseRepositories +@EnableCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef") +@EnableReactiveCouchbaseAuditing(dateTimeProviderRef = "dateTimeProviderRef") +@EnableCaching +public class Config extends AbstractCouchbaseConfiguration { + String bucketname = "travel-sample"; + String username = "Administrator"; + String password = "password"; + String connectionString = "127.0.0.1"; + + // if running a clusterAwareIntegrationTests, use those properties + static Class clusterAware = null; + + static { + try { + clusterAware = Class.forName("org.springframework.data.couchbase.util.ClusterAwareIntegrationTests"); + if (clusterAware.getMethod("config").invoke(null) == null) + clusterAware = null; + } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + } + + String clusterGet(String methodName, String defaultValue) { + if (clusterAware != null) { + try { + return (String) clusterAware.getMethod(methodName).invoke(null); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + return defaultValue; + } + + @Override + public String getConnectionString() { + return clusterGet("connectionString", connectionString); + } + + @Override + public String getUserName() { + return clusterGet("username", username); + } + + @Override + public String getPassword() { + return clusterGet("password", password); + } + + @Override + public String getBucketName() { + return clusterGet("bucketName", bucketname); + } + + @Override + protected void configureEnvironment(ClusterEnvironment.Builder builder) { + if (getConnectionString().contains("cloud.couchbase.com")) { + builder.securityConfig( + SecurityConfig.builder().trustManagerFactory(InsecureTrustManagerFactory.INSTANCE).enableTls(true)); + } + } + + + @Override + public void configureReactiveRepositoryOperationsMapping(ReactiveRepositoryOperationsMapping baseMapping) { + try { + // comment out references to 'protected' and 'mybucket' - they are only to show how multi-bucket would work + // ReactiveCouchbaseTemplate personTemplate = myReactiveCouchbaseTemplate(myCouchbaseClientFactory("protected"), + // (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter())); + // baseMapping.mapEntity(Person.class, personTemplate); // Person goes in "protected" bucket + // ReactiveCouchbaseTemplate userTemplate = myReactiveCouchbaseTemplate(myCouchbaseClientFactory("mybucket"), + // (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter())); + // baseMapping.mapEntity(User.class, userTemplate); // User goes in "mybucket" + // everything else goes in getBucketName() ( which is travel-sample ) + } catch (Exception e) { + throw e; + } + } + + @Override + public void configureRepositoryOperationsMapping(RepositoryOperationsMapping baseMapping) { + try { + // comment out references to 'protected' and 'mybucket' - they are only to show how multi-bucket would work + // CouchbaseTemplate personTemplate = myCouchbaseTemplate(myCouchbaseClientFactory("protected"), + // (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter())); + // baseMapping.mapEntity(Person.class, personTemplate); // Person goes in "protected" bucket + // MappingCouchbaseConverter cvtr = (MappingCouchbaseConverter)baseMapping.getDefault().getConverter(); + // CouchbaseTemplate userTemplate = myCouchbaseTemplate(myCouchbaseClientFactory("mybucket"), + // (MappingCouchbaseConverter) (baseMapping.getDefault().getConverter())); + // baseMapping.mapEntity(User.class, userTemplate); // User goes in "mybucket" + // everything else goes in getBucketName() ( which is travel-sample ) + } catch (Exception e) { + throw e; + } + } + + // do not use reactiveCouchbaseTemplate for the name of this method, otherwise the value of that bean + // will be used instead of the result of this call (the client factory arg is different) + public ReactiveCouchbaseTemplate myReactiveCouchbaseTemplate(CouchbaseClientFactory couchbaseClientFactory, + MappingCouchbaseConverter mappingCouchbaseConverter) { + return new ReactiveCouchbaseTemplate(couchbaseClientFactory, mappingCouchbaseConverter, + new JacksonTranslationService(), getDefaultConsistency()); + } + + // do not use couchbaseTemplate for the name of this method, otherwise the value of that been + // will be used instead of the result from this call (the client factory arg is different) + public CouchbaseTemplate myCouchbaseTemplate(CouchbaseClientFactory couchbaseClientFactory, + MappingCouchbaseConverter mappingCouchbaseConverter) { + return new CouchbaseTemplate(couchbaseClientFactory, mappingCouchbaseConverter, new JacksonTranslationService(), + getDefaultConsistency()); + } + + // do not use couchbaseClientFactory for the name of this method, otherwise the value of that bean will + // will be used instead of this call being made ( bucketname is an arg here, instead of using bucketName() ) + public CouchbaseClientFactory myCouchbaseClientFactory(String bucketName) { + return new SimpleCouchbaseClientFactory(getConnectionString(), authenticator(), bucketName); + } + + + + @Override + @Bean(name = "couchbaseTranslationService") + public TranslationService couchbaseTranslationService() { + final JacksonTranslationService jacksonTranslationService = new JacksonTranslationService(); + jacksonTranslationService.afterPropertiesSet(); + + // for sdk3, we need to ask the mapper _it_ uses to ignore extra fields... + JacksonTransformers.MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return jacksonTranslationService; + } + + @Bean + public CouchbaseCacheManager cacheManager(CouchbaseTemplate couchbaseTemplate) throws Exception { + CouchbaseCacheManager.CouchbaseCacheManagerBuilder builder = CouchbaseCacheManager.CouchbaseCacheManagerBuilder + .fromConnectionFactory(couchbaseTemplate.getCouchbaseClientFactory()); + return builder.build(); + } + + @Override + public String typeKey() { + return "t"; // this will override '_class', is passed in to new CustomMappingCouchbaseConverter + } + + static String scopeName = null; + + @Override + protected String getScopeName() { + return scopeName; + } +} diff --git a/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java similarity index 97% rename from src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java index eeba5536a..2513535ec 100644 --- a/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java +++ b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryCollectionQuerydslIntegrationTests.java @@ -24,10 +24,12 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.auditing.DateTimeProvider; import org.springframework.data.couchbase.core.CouchbaseTemplate; import org.springframework.data.couchbase.core.mapping.event.ValidatingCouchbaseEventListener; import org.springframework.data.couchbase.core.query.QueryCriteriaDefinition; import org.springframework.data.couchbase.domain.*; +import org.springframework.data.couchbase.domain.time.AuditingDateTimeProvider; import org.springframework.data.couchbase.repository.auditing.EnableCouchbaseAuditing; import org.springframework.data.couchbase.repository.auditing.EnableReactiveCouchbaseAuditing; import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; @@ -621,6 +623,21 @@ public LocalValidatorFactoryBean validator() { public ValidatingCouchbaseEventListener validationEventListener() { return new ValidatingCouchbaseEventListener(validator()); } + + @Bean(name = "auditorAwareRef") + public NaiveAuditorAware testAuditorAware() { + return new NaiveAuditorAware(); + } + + @Bean(name = "reactiveAuditorAwareRef") + public ReactiveNaiveAuditorAware testReactiveAuditorAware() { + return new ReactiveNaiveAuditorAware(); + } + + @Bean(name = "dateTimeProviderRef") + public DateTimeProvider testDateTimeProvider() { + return new AuditingDateTimeProvider(); + } } String bq(Predicate predicate) { diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java similarity index 97% rename from src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java rename to spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java index 95d0cd912..da649d28e 100644 --- a/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java +++ b/spring-data-couchbase-querydsl/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuerydslIntegrationTests.java @@ -39,12 +39,16 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.data.auditing.DateTimeProvider; import org.springframework.data.couchbase.core.CouchbaseTemplate; import org.springframework.data.couchbase.core.mapping.event.ValidatingCouchbaseEventListener; import org.springframework.data.couchbase.core.query.QueryCriteriaDefinition; import org.springframework.data.couchbase.domain.Airline; import org.springframework.data.couchbase.domain.AirlineRepository; +import org.springframework.data.couchbase.domain.NaiveAuditorAware; import org.springframework.data.couchbase.domain.QAirline; +import org.springframework.data.couchbase.domain.ReactiveNaiveAuditorAware; +import org.springframework.data.couchbase.domain.time.AuditingDateTimeProvider; import org.springframework.data.couchbase.repository.auditing.EnableCouchbaseAuditing; import org.springframework.data.couchbase.repository.auditing.EnableReactiveCouchbaseAuditing; import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; @@ -633,6 +637,20 @@ public LocalValidatorFactoryBean validator() { public ValidatingCouchbaseEventListener validationEventListener() { return new ValidatingCouchbaseEventListener(validator()); } + @Bean(name = "auditorAwareRef") + public NaiveAuditorAware testAuditorAware() { + return new NaiveAuditorAware(); + } + + @Bean(name = "reactiveAuditorAwareRef") + public ReactiveNaiveAuditorAware testReactiveAuditorAware() { + return new ReactiveNaiveAuditorAware(); + } + + @Bean(name = "dateTimeProviderRef") + public DateTimeProvider testDateTimeProvider() { + return new AuditingDateTimeProvider(); + } } String bq(Predicate predicate) { diff --git a/src/test/resources/integration.properties b/spring-data-couchbase-querydsl/src/test/resources/integration.properties similarity index 96% rename from src/test/resources/integration.properties rename to spring-data-couchbase-querydsl/src/test/resources/integration.properties index a4c5e6f41..510356617 100644 --- a/src/test/resources/integration.properties +++ b/spring-data-couchbase-querydsl/src/test/resources/integration.properties @@ -12,6 +12,7 @@ cluster.mocked.numReplicas=1 cluster.unmanaged.seed=127.0.0.1:8091 cluster.adminUsername=Administrator cluster.adminPassword=password +#cluster.bucket=my_bucket #cluster.unmanaged.seed=cb.zsibzkbgllfbcj8g.cloud.couchbase.com #cluster.adminUsername=user #cluster.adminPassword=Couch0base! diff --git a/spring-data-couchbase-testutils/pom.xml b/spring-data-couchbase-testutils/pom.xml new file mode 100644 index 000000000..71e756aaa --- /dev/null +++ b/spring-data-couchbase-testutils/pom.xml @@ -0,0 +1,283 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-couchbase-testutils + 0.0.99 + + Spring Data Couchbase Test-Utils + Spring Data integration for Couchbase + https://github.com/spring-projects/spring-data-couchbase + + + org.springframework.data + spring-data-couchbase-parent + 5.4.0-SNAPSHOT + + + + 3.7.4 + 3.4.0-SNAPSHOT + 2.10.13 + 2.13.4 + 4.0.0 + 5.9.1 + + + + + + org.testcontainers + testcontainers-bom + ${testcontainers} + pom + import + + + + + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + + + + com.querydsl + querydsl-apt + ${querydsl} + jakarta + + + javax.inject + javax.inject + + + + + + javax.inject + javax.inject + 1 + test + + + + org.springframework + spring-context-support + + + + org.springframework + spring-web + + + + org.springframework + spring-tx + + + + org.springframework.data + spring-data-commons + ${springdata.commons} + + + + com.couchbase.client + java-client + ${couchbase} + + + + + jakarta.enterprise + jakarta.enterprise.cdi-api + ${cdi} + provided + true + + + + org.springframework + spring-test + ${spring} + + + + org.hibernate.validator + hibernate-validator + 7.0.1.Final + test + + + + org.apache.httpcomponents + httpclient + 4.5.13 + test + + + + io.projectreactor + reactor-test + test + + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson-joda} + test + + + + com.fasterxml.jackson.core + jackson-databind + + + + joda-time + joda-time + ${jodatime} + true + + + + org.testcontainers + testcontainers + + + + + jakarta.validation + jakarta.validation-api + ${validation} + true + + + + jakarta.el + jakarta.el-api + ${jakarta.el} + provided + true + + + + org.glassfish + jakarta.el + ${jakarta.el} + provided + true + + + + + + org.apache.geronimo.specs + geronimo-jcdi_2.0_spec + 1.0.1 + test + + + + javax.interceptor + javax.interceptor-api + 1.2.1 + test + + + + org.apache.openwebbeans + openwebbeans-se + ${webbeans} + test + + + + com.couchbase.mock + CouchbaseMock + 1.5.25 + + + + com.squareup.okhttp3 + okhttp + 4.8.1 + + + + com.squareup.okhttp3 + okhttp-tls + 4.8.1 + + + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin} + true + + + + org.jetbrains.kotlin + kotlin-reflect + ${kotlin} + true + + + + org.jetbrains.kotlin + kotlin-test + ${kotlin} + test + + + + org.awaitility + awaitility + 4.0.3 + + + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar + + + + + + + + + + spring-snapshot + https://repo.spring.io/snapshot + + true + + + false + + + + spring-milestone + https://repo.spring.io/milestone + + + diff --git a/src/test/java/org/springframework/data/couchbase/util/Capabilities.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Capabilities.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/Capabilities.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Capabilities.java diff --git a/src/test/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java similarity index 63% rename from src/test/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java index c21b54ad5..dff86e5f1 100644 --- a/src/test/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java +++ b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterAwareIntegrationTests.java @@ -28,6 +28,7 @@ import java.util.UUID; import java.util.stream.Collectors; +import com.couchbase.client.java.ClusterOptions; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; @@ -36,8 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.couchbase.CouchbaseClientFactory; -import org.springframework.data.couchbase.SimpleCouchbaseClientFactory; import com.couchbase.client.core.deps.io.netty.handler.ssl.util.InsecureTrustManagerFactory; import com.couchbase.client.core.env.Authenticator; @@ -56,7 +55,6 @@ * Parent class which drives all dynamic integration tests based on the configured cluster setup. * * @author Michael Reiche - * * @since 2.0.0 */ @ExtendWith(ClusterInvocationProvider.class) @@ -71,28 +69,24 @@ public abstract class ClusterAwareIntegrationTests { static void setup(TestClusterConfig config) { testClusterConfig = config; // Disabling cleanupLostAttempts to simplify output during development - ClusterEnvironment env = ClusterEnvironment.builder() - .transactionsConfig(TransactionsConfig.cleanupConfig(TransactionsCleanupConfig.cleanupLostAttempts(false))) - .build(); + ClusterEnvironment env = ClusterEnvironment.builder().transactionsConfig( + TransactionsConfig.cleanupConfig(TransactionsCleanupConfig.cleanupLostAttempts(false))).build(); String connectString = connectionString(); - Cluster tmpCluster = null; - try (CouchbaseClientFactory couchbaseClientFactory = new SimpleCouchbaseClientFactory(connectString, - authenticator(), bucketName(), null, env)) { - tmpCluster = couchbaseClientFactory.getCluster(); - couchbaseClientFactory.getCluster().queryIndexes().createPrimaryIndex(bucketName(), CreatePrimaryQueryIndexOptions + Cluster tmpCluster = null; + try (Cluster cluster = Cluster.connect(connectString, + ClusterOptions.clusterOptions(authenticator()).environment(env))) { + cluster.queryIndexes().createPrimaryIndex(bucketName(), CreatePrimaryQueryIndexOptions .createPrimaryQueryIndexOptions().ignoreIfExists(true).timeout(Duration.ofSeconds(300))); // this is for the N1qlJoin test List fieldList = new ArrayList<>(); fieldList.add("parentId"); - couchbaseClientFactory.getCluster().queryIndexes().createIndex(bucketName(), "parent_idx", fieldList, - CreateQueryIndexOptions.createQueryIndexOptions().ignoreIfExists(true).timeout(Duration.ofSeconds(300))); + cluster.queryIndexes().createIndex(bucketName(), "parent_idx", fieldList, CreateQueryIndexOptions + .createQueryIndexOptions().ignoreIfExists(true).timeout(Duration.ofSeconds(300))); // .with("_class", "org.springframework.data.couchbase.domain.Address")); - logCluster(couchbaseClientFactory.getCluster(), "$"); + logCluster(cluster, "$"); } catch (IndexFailureException ife) { LOGGER.warn("IndexFailureException occurred - ignoring: ", ife); - logDisconnect(tmpCluster, "IndexFailureException"); - } catch (IOException ioe) { - throw new RuntimeException(ioe); + logDisconnect(tmpCluster, "IndexFailureException"); } } @@ -156,86 +150,88 @@ public static String connectionString() { */ protected static ClusterEnvironment.Builder environment() { return config().isUsingCloud() - ? ClusterEnvironment.builder() - .securityConfig(SecurityConfig.trustManagerFactory(InsecureTrustManagerFactory.INSTANCE).enableTls(true)) + ? ClusterEnvironment.builder().securityConfig( + SecurityConfig.trustManagerFactory(InsecureTrustManagerFactory.INSTANCE).enableTls(true)) : ClusterEnvironment.builder(); } protected static Set seedNodes() { - return config().nodes().stream().map(cfg -> SeedNode.create(cfg.hostname(), - Optional.ofNullable(config().isUsingCloud() ? cfg.ports().get(Services.KV_TLS) : cfg.ports().get(Services.KV)), - Optional.ofNullable( - config().isUsingCloud() ? cfg.ports().get(Services.MANAGER_TLS) : cfg.ports().get(Services.MANAGER)))) + return config().nodes().stream() + .map(cfg -> SeedNode.create(cfg.hostname(), + Optional.ofNullable(config().isUsingCloud() ? cfg.ports().get(Services.KV_TLS) + : cfg.ports().get(Services.KV)), + Optional.ofNullable(config().isUsingCloud() ? cfg.ports().get(Services.MANAGER_TLS) + : cfg.ports().get(Services.MANAGER)))) .collect(Collectors.toSet()); } - static Set flagged = new HashSet<>(); + static Set flagged = new HashSet<>(); - @AfterEach - public void afterEach() { - if (clusterToDisconnect == null && !flagged.contains(this.getClass().getSimpleName())) { - flagged.add(this.getClass().getSimpleName()); - logMessage("CoreDisconnected:\"coreId\":\"" + this.getClass().getSimpleName() + "\""); - } - } + @AfterEach + public void afterEach() { + if (clusterToDisconnect == null && !flagged.contains(this.getClass().getSimpleName())) { + flagged.add(this.getClass().getSimpleName()); + logMessage("CoreDisconnected:\"coreId\":\"" + this.getClass().getSimpleName() + "\""); + } + } - @AfterAll - public static void afterAll() { - //if (clusterToDisconnect != null) { - // logDisconnect(clusterToDisconnect, "$"); - // clusterToDisconnect = null; - //} else { - // already flaged by afterEach - //} - logMessage("CoreDisconnected:\"coreId\":\"------------------\""); - callSuperAfterAll(new Object() {}); - } + @AfterAll + public static void afterAll() { + // if (clusterToDisconnect != null) { + // logDisconnect(clusterToDisconnect, "$"); + // clusterToDisconnect = null; + // } else { + // already flaged by afterEach + // } + logMessage("CoreDisconnected:\"coreId\":\"------------------\""); + callSuperAfterAll(new Object() {}); + } - static Set disconnectedMap = new HashSet<>(); + static Set disconnectedMap = new HashSet<>(); - public static void logCluster(Cluster cluster, String s) { - if (cluster == null || disconnectedMap.contains(cluster.core().context().id())) { - org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnectedAutoAlready:\"coreId\":\"" - + String.format("0x%16x", 0) + "auto missed<" + s + ">\""); - } else { - disconnectedMap.add(cluster.core().context().id()); - org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnectedAuto:\"coreId\":\"" - + String.format("0x%x", cluster.core().context().id()) + "(" + s + ")\""); - //cluster.environment().shutdown(Duration.ofSeconds(60)); needs to happend after auto disconnect() - } - } + public static void logCluster(Cluster cluster, String s) { + if (cluster == null || disconnectedMap.contains(cluster.core().context().id())) { + org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnectedAutoAlready:\"coreId\":\"" + + String.format("0x%16x", 0) + "auto missed<" + s + ">\""); + } else { + disconnectedMap.add(cluster.core().context().id()); + org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnectedAuto:\"coreId\":\"" + + String.format("0x%x", cluster.core().context().id()) + "(" + s + ")\""); + // cluster.environment().shutdown(Duration.ofSeconds(60)); needs to happend after auto disconnect() + } + } - public static void logDisconnect(Cluster cluster, String s) { - if (cluster == null || disconnectedMap.contains(cluster.core().context().id())) { - org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info( - "CoreDisconnectedAlready:\"coreId\":\"" + String.format("0x%16x", 0) + " missed{" + s + "}\""); - } else { - disconnectedMap.add(cluster.core().context().id()); - org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnected:\"coreId\":\"" - + String.format("0x%x", cluster.core().context().id()) + "[" + s + "]\""); - cluster.disconnect(); - cluster.environment().shutdown(Duration.ofSeconds(60)); - } - } + public static void logDisconnect(Cluster cluster, String s) { + if (cluster == null || disconnectedMap.contains(cluster.core().context().id())) { + org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info( + "CoreDisconnectedAlready:\"coreId\":\"" + String.format("0x%16x", 0) + " missed{" + s + "}\""); + } else { + disconnectedMap.add(cluster.core().context().id()); + org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info("CoreDisconnected:\"coreId\":\"" + + String.format("0x%x", cluster.core().context().id()) + "[" + s + "]\""); + cluster.disconnect(); + cluster.environment().shutdown(Duration.ofSeconds(60)); + } + } - public static void logMessage(String message) { - org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info(message); - } + public static void logMessage(String message) { + org.slf4j.LoggerFactory.getLogger("com.couchbase.core").info(message); + } @BeforeAll() public static void beforeAll() {} @BeforeEach - public void beforeEach() { - clusterToDisconnect = cluster; - } + public void beforeEach() { + clusterToDisconnect = cluster; + } /** * This should probably be the first call in the @BeforeAll method of a test class. This will call super @BeforeAll * methods when called as callSuperBeforeAll(new Object() {}); this trickery is necessary because super.beforeAll() - * cannot be used because it is a static method. it is possible and likely that the beforeAll() method of should still - * be called even when a test class defines its own beforeAll() method which would hide the beforeAll() of the super - * class. This trickery is not necessary for before/AfterEach, as those are not static methods + * cannot be used because it is a static method. it is possible and likely that the beforeAll() method of should + * still be called even when a test class defines its own beforeAll() method which would hide the beforeAll() of the + * super class. This trickery is not necessary for before/AfterEach, as those are not static methods * * @Author Michael Reiche * @param createdHere - an object from a class defined in the calling class diff --git a/src/test/java/org/springframework/data/couchbase/util/ClusterInvocationProvider.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterInvocationProvider.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/ClusterInvocationProvider.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterInvocationProvider.java diff --git a/src/test/java/org/springframework/data/couchbase/util/ClusterType.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterType.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/ClusterType.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/ClusterType.java diff --git a/src/test/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java similarity index 71% rename from src/test/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java index 15d977ebd..fd65085e1 100644 --- a/src/test/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java +++ b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareDefaultScopeIntegrationTests.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.springframework.data.couchbase.domain.Config; import com.couchbase.client.core.error.IndexExistsException; import com.couchbase.client.core.service.ServiceType; @@ -46,10 +45,9 @@ public class CollectionAwareDefaultScopeIntegrationTests extends JavaIntegration @BeforeAll public static void beforeAll() { - callSuperBeforeAll(new Object() { - }); + callSuperBeforeAll(new Object() {}); Cluster cluster = Cluster.connect(connectionString(), - ClusterOptions.clusterOptions(authenticator()).environment(environment().build())); + ClusterOptions.clusterOptions(authenticator()).environment(environment().build())); Bucket bucket = cluster.bucket(config().bucketname()); bucket.waitUntilReady(Duration.ofSeconds(30)); waitForService(bucket, ServiceType.QUERY); @@ -66,33 +64,31 @@ public static void beforeAll() { try { // needs an index for this N1ql Join - // create index ix2 on my_bucket(parent_id) where `_class` = 'org.springframework.data.couchbase.domain.Address'; + // create index ix2 on my_bucket(parent_id) where `_class` = + // 'org.springframework.data.couchbase.domain.Address'; List fieldList = new ArrayList<>(); fieldList.add("parentId"); - cluster.query("CREATE INDEX `parent_idx` ON default:`" + bucketName() + "`." + scopeName + "." + collectionName2 - + "(parentId)"); + cluster.query("CREATE INDEX `parent_idx` ON default:`" + bucketName() + "`." + scopeName + "." + + collectionName2 + "(parentId)"); } catch (IndexExistsException ife) { LOGGER.warn("IndexFailureException occurred - ignoring: ", ife.toString()); } - logDisconnect(cluster, CollectionAwareDefaultScopeIntegrationTests.class.getSimpleName()); - Config.setScopeName(scopeName); - // ApplicationContext ac = new AnnotationConfigApplicationContext(); - // System.out.println(ac); + logDisconnect(cluster, CollectionAwareDefaultScopeIntegrationTests.class.getSimpleName()); + // ApplicationContext ac = new AnnotationConfigApplicationContext(); + // System.out.println(ac); // the Config class has been modified, these need to be loaded again - // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); - // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); + // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); + // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); } @AfterAll public static void afterAll() { - Config.setScopeName(null); - // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); + // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); // the Config class has been modified, these need to be loaded again - // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); - // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); - callSuperAfterAll(new Object() { - }); + // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); + // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); + callSuperAfterAll(new Object() {}); } } diff --git a/src/test/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java similarity index 75% rename from src/test/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java index c85265203..5e84fe6cc 100644 --- a/src/test/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java +++ b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/CollectionAwareIntegrationTests.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.springframework.data.couchbase.domain.Config; import com.couchbase.client.core.error.IndexExistsException; import com.couchbase.client.core.service.ServiceType; @@ -64,31 +63,30 @@ public static void beforeAll() { try { // needs an index for this N1ql Join - // create index ix2 on my_bucket(parent_id) where `_class` = 'org.springframework.data.couchbase.domain.Address'; + // create index ix2 on my_bucket(parent_id) where `_class` = + // 'org.springframework.data.couchbase.domain.Address'; List fieldList = new ArrayList<>(); fieldList.add("parentId"); - cluster.query("CREATE INDEX `parent_idx` ON default:`" + bucketName() + "`." + scopeName + "." + collectionName2 - + "(parentId)"); + cluster.query("CREATE INDEX `parent_idx` ON default:`" + bucketName() + "`." + scopeName + "." + + collectionName2 + "(parentId)"); } catch (IndexExistsException ife) { LOGGER.warn("IndexFailureException occurred - ignoring: ", ife.toString()); } - logDisconnect(cluster, CollectionAwareIntegrationTests.class.getSimpleName()); - Config.setScopeName(scopeName); - // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); - // System.out.println(ac); + logDisconnect(cluster, CollectionAwareIntegrationTests.class.getSimpleName()); + // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); + // System.out.println(ac); // the Config class has been modified, these need to be loaded again - // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); - // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); + // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); + // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); } @AfterAll public static void afterAll() { - Config.setScopeName(null); - // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); + // ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class); // the Config class has been modified, these need to be loaded again - // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); - // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); + // couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE); + // reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(REACTIVE_COUCHBASE_TEMPLATE); callSuperAfterAll(new Object() {}); } } diff --git a/src/test/java/org/springframework/data/couchbase/util/IgnoreWhen.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/IgnoreWhen.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/IgnoreWhen.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/IgnoreWhen.java diff --git a/src/test/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java similarity index 96% rename from src/test/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java index fbd438302..5fc30964c 100644 --- a/src/test/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java +++ b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/JavaIntegrationTests.java @@ -25,7 +25,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.springframework.data.couchbase.util.Util.waitUntilCondition; -import java.io.IOException; import java.time.Duration; import java.util.Collections; import java.util.LinkedHashMap; @@ -42,9 +41,6 @@ import org.junit.jupiter.api.function.Executable; import org.junit.platform.commons.util.UnrecoverableExceptions; import org.opentest4j.AssertionFailedError; -import org.springframework.data.couchbase.CouchbaseClientFactory; -import org.springframework.data.couchbase.SimpleCouchbaseClientFactory; -import org.springframework.data.couchbase.domain.Config; import org.springframework.data.couchbase.transactions.SimulateFailureException; import com.couchbase.client.core.diagnostics.PingResult; @@ -92,15 +88,13 @@ public class JavaIntegrationTests extends ClusterAwareIntegrationTests { @BeforeAll public static void beforeAll() { - Config.setScopeName(null); + //Config.setScopeName(null); callSuperBeforeAll(new Object() {}); - try (CouchbaseClientFactory couchbaseClientFactory = new SimpleCouchbaseClientFactory(connectionString(), - authenticator(), bucketName())) { - couchbaseClientFactory.getCluster().queryIndexes().createPrimaryIndex(bucketName(), + try (Cluster cluster = Cluster.connect(connectionString(), + username(), password())) { + cluster.queryIndexes().createPrimaryIndex(bucketName(), CreatePrimaryQueryIndexOptions.createPrimaryQueryIndexOptions().ignoreIfExists(true)); - logCluster(couchbaseClientFactory.getCluster(), "-"); - } catch (IOException ioe) { - throw new RuntimeException(ioe); + logCluster(cluster, "-"); } } diff --git a/src/test/java/org/springframework/data/couchbase/util/MockTestCluster.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/MockTestCluster.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/MockTestCluster.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/MockTestCluster.java diff --git a/src/test/java/org/springframework/data/couchbase/util/Services.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Services.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/Services.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Services.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/SimulateFailureException.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/SimulateFailureException.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/SimulateFailureException.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/SimulateFailureException.java diff --git a/src/test/java/org/springframework/data/couchbase/util/TestCluster.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestCluster.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/TestCluster.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestCluster.java diff --git a/src/test/java/org/springframework/data/couchbase/util/TestClusterConfig.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestClusterConfig.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/TestClusterConfig.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestClusterConfig.java diff --git a/src/test/java/org/springframework/data/couchbase/util/TestNodeConfig.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestNodeConfig.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/TestNodeConfig.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/TestNodeConfig.java diff --git a/src/test/java/org/springframework/data/couchbase/util/UnmanagedTestCluster.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/UnmanagedTestCluster.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/UnmanagedTestCluster.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/UnmanagedTestCluster.java diff --git a/src/test/java/org/springframework/data/couchbase/util/Util.java b/spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Util.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/util/Util.java rename to spring-data-couchbase-testutils/src/main/java/org/springframework/data/couchbase/util/Util.java diff --git a/spring-data-couchbase/CI.adoc b/spring-data-couchbase/CI.adoc new file mode 100644 index 000000000..afbba5f8a --- /dev/null +++ b/spring-data-couchbase/CI.adoc @@ -0,0 +1,34 @@ += Continuous Integration + +image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-couchbase%2Fmain&subject=Moore%20(main)["Spring Data Couchbase", link="https://jenkins.spring +.io/view/SpringData/job/spring-data-couchbase/"] +image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-couchbase%2F3.1.x&subject=Lovelace%20(3.1.x)["Spring Data Couchbase", link="https://jenkins.spring +.io/view/SpringData/job/spring-data-couchbase/"] +image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-couchbase%2F2.2.x&subject=Ingalls%20(2.2.x)["Spring Data Couchbase", link="https://jenkins.spring +.io/view/SpringData/job/spring-data-couchbase/"] + +== Running CI tasks locally + +Since this pipeline is purely Docker-based, it's easy to: + +* Debug what went wrong on your local machine. +* Test out a a tweak to your `test.sh` script before sending it out. +* Experiment against a new image before submitting your pull request. + +All of these use cases are great reasons to essentially run what the CI server does on your local machine. + +IMPORTANT: To do this you must have Docker installed on your machine. + +1. `docker run -it --mount type=bind,source="$(pwd)",target=/spring-data-couchbase-github -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock adoptopenjdk/openjdk8:latest /bin/bash` ++ +This will launch the Docker image and mount your source code at `spring-data-couchbase-github`. ++ +2. `cd spring-data-couchbase-github` ++ +Next, test everything from inside the container: ++ +3. `./mvnw -Pci clean dependency:list test -Dsort -B` (or whatever test configuration you must use) + +Since the container is binding to your source, you can make edits from your IDE and continue to run build jobs. + +NOTE: Docker containers can eat up disk space fast! From time to time, run `docker system prune` to clean out old images. diff --git a/spring-data-couchbase/CONTRIBUTING.adoc b/spring-data-couchbase/CONTRIBUTING.adoc new file mode 100644 index 000000000..740e8bd0b --- /dev/null +++ b/spring-data-couchbase/CONTRIBUTING.adoc @@ -0,0 +1,3 @@ += Spring Data contribution guidelines + +You find the contribution guidelines for Spring Data projects https://github.com/spring-projects/spring-data-build/blob/main/CONTRIBUTING.adoc[here]. diff --git a/spring-data-couchbase/Jenkinsfile b/spring-data-couchbase/Jenkinsfile new file mode 100644 index 000000000..d1245b878 --- /dev/null +++ b/spring-data-couchbase/Jenkinsfile @@ -0,0 +1,130 @@ +def p = [:] +node { + checkout scm + p = readProperties interpolate: true, file: 'ci/pipeline.properties' +} + +pipeline { + agent none + + triggers { + pollSCM 'H/10 * * * *' + upstream(upstreamProjects: "spring-data-commons/main", threshold: hudson.model.Result.SUCCESS) + } + + options { + disableConcurrentBuilds() + buildDiscarder(logRotator(numToKeepStr: '14')) + } + + stages { + stage("test: baseline (main)") { + when { + beforeAgent(true) + anyOf { + branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + not { triggeredBy 'UpstreamCause' } + } + } + agent { + label 'data' + } + options { timeout(time: 30, unit: 'MINUTES') } + environment { + ARTIFACTORY = credentials("${p['artifactory.credentials']}") + DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}") + } + steps { + script { + docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { + docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) { + sh "PROFILE=ci JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh" + sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh" + } + } + } + } + } + + stage("Test other configurations") { + when { + beforeAgent(true) + allOf { + branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + not { triggeredBy 'UpstreamCause' } + } + } + parallel { + stage("test: baseline (next)") { + agent { + label 'data' + } + options { timeout(time: 30, unit: 'MINUTES') } + environment { + ARTIFACTORY = credentials("${p['artifactory.credentials']}") + DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}") + } + steps { + script { + docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { + docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) { + sh "PROFILE=ci JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh" + sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh" + } + } + } + } + } + } + } + + stage('Release to artifactory') { + when { + beforeAgent(true) + anyOf { + branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + not { triggeredBy 'UpstreamCause' } + } + } + agent { + label 'data' + } + options { timeout(time: 20, unit: 'MINUTES') } + environment { + ARTIFACTORY = credentials("${p['artifactory.credentials']}") + DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}") + } + steps { + script { + docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) { + docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) { + sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + + "./mvnw -s settings.xml -Pci,artifactory " + + "-Ddevelocity.storage.directory=/tmp/jenkins-home/.develocity-root " + + "-Dartifactory.server=${p['artifactory.url']} " + + "-Dartifactory.username=${ARTIFACTORY_USR} " + + "-Dartifactory.password=${ARTIFACTORY_PSW} " + + "-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " + + "-Dartifactory.build-name=spring-data-couchbase " + + "-Dartifactory.build-number=spring-data-couchbase-${BRANCH_NAME}-build-${BUILD_NUMBER} " + + "-Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-couchbase " + + "-Dmaven.test.skip=true clean deploy -U -B" + } + } + } + } + } + } + + post { + changed { + script { + emailext( + subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}", + mimeType: 'text/html', + recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']], + body: "${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}") + } + } + } +} diff --git a/spring-data-couchbase/LICENSE.txt b/spring-data-couchbase/LICENSE.txt new file mode 100644 index 000000000..ff7737963 --- /dev/null +++ b/spring-data-couchbase/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. diff --git a/spring-data-couchbase/README.adoc b/spring-data-couchbase/README.adoc new file mode 100644 index 000000000..14d6c6e26 --- /dev/null +++ b/spring-data-couchbase/README.adoc @@ -0,0 +1,209 @@ += Spring Data Couchbase image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-couchbase%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-couchbase/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]] image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Couchbase"] + +The primary goal of the https://www.springsource.org/spring-data[Spring Data] project is to make it easier to build +Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce +frameworks, and cloud based data services. + +The Spring Data Couchbase project aims to provide a familiar and consistent Spring-based programming model for Couchbase +Server as a document database and cache while retaining store-specific features and capabilities. Key functional areas +of Spring Data Couchbase are a POJO centric model for interacting with a Couchbase Server Bucket and easily writing a +repository style data access layer. + +Integration tests require a couchbase server with a bucket name "protected" with "password" as the password set. +If the server allows users, then an user with username "protected" with "password" as the password should also be set. +The recommended way to run tests is to install docker and use container in server.properties. + +This project is lead and maintained by Couchbase, Inc. + +== Features + +* Spring configuration support using Java based `@Configuration` classes or an XML namespace for the Couchbase driver (Java SDK version 2.x). +* `CouchbaseTemplate` helper class that increases productivity performing common Couchbase operations. Includes integrated object mapping between documents and POJOs. +* Exception translation into Spring’s portable Data Access Exception hierarchy. +* Feature Rich Object Mapping integrated with Spring’s Conversion Service. +* Annotation based mapping metadata but extensible to support other metadata formats. +* Automatic implementation of `Repository` interfaces including support for custom finder methods (backed by Couchbase’s query language, `N1QL`) and `PagingAndSortingRepository`. +* For Couchbase server versions < 4.0, repositories can still be backed by Couchbase Views. +* Support for geospatial and multidimensional querying (backed by Couchbase Spatial Views) +* JMX administration and monitoring +* Can serve as the backend for `@Cacheable` support, to cache any objects you need for high performance access (see sibling Spring Cache project in Couchbase’s github, https://github.com/couchbaselabs/couchbase-spring-cache[couchbaselabs/couchbase-spring-cache]). + +== Version compatibility + +`Spring-Data Couchbase` is the Spring Data connector for the `Couchbase Java SDK 2.x` generation. + +Both the SDK and this Spring Data community project are major version changes with lots of differences from their respective previous versions. + +Notably, this version is compatible with `Couchbase Server 4.0`, bringing support for the `N1QL` query language. + +== Code of Conduct + +This project is governed by the https://github.com/spring-projects/.github/blob/e3cc2ff230d8f1dca06535aa6b5a4a23815861d4/CODE_OF_CONDUCT.md[Spring Code of Conduct].By participating, you are expected to uphold this code of conduct.Please report unacceptable behavior to spring-code-of-conduct@pivotal.io. + +== Getting Started + +Here is a quick teaser of an application using Spring Data Repositories in Java: + +[source,java] +---- +public interface PersonRepository extends CrudRepository { + + List findByLastname(String lastname); + + List findByFirstnameLike(String firstname); +} + +@Service +public class MyService { + + private final PersonRepository repository; + + public MyService(PersonRepository repository) { + this.repository = repository; + } + + public void doWork() { + + repository.deleteAll(); + + Person person = new Person(); + person.setFirstname("Couch"); + person.setLastname("Base"); + repository.save(person); + + List lastNameResults = repository.findByLastname("Base"); + List firstNameResults = repository.findByFirstnameLike("Cou*"); + } +} + +@Configuration +@EnableCouchbaseRepositories +public class Config extends AbstractCouchbaseConfiguration { + + @Override + protected List getBootstrapHosts() { + return Arrays.asList("host1", "host2"); + } + + @Override + protected String getBucketName() { + return "default"; + } + + @Override + protected String getPassword() { + return ""; + } +} +---- + +=== Maven configuration + +Add the Maven dependency: + +[source,xml] +---- + + org.springframework.data + spring-data-couchbase + ${version} + +---- + +If you'd rather like the latest snapshots of the upcoming major version, use our Maven snapshot repository and declare the appropriate dependency version. + +[source,xml] +---- + + org.springframework.data + spring-data-couchbase + ${version}-SNAPSHOT + + + + spring-snapshot + Spring Snapshot Repository + https://repo.spring.io/snapshot + +---- + +== Getting Help + +Having trouble with Spring Data? We’d love to help! + +* Check the +https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/[reference documentation], and https://docs.spring.io/spring-data/couchbase/docs/current/api/[Javadocs]. +* Learn the Spring basics – Spring Data builds on Spring Framework, check the https://spring.io[spring.io] web-site for a wealth of reference documentation. +If you are just starting out with Spring, try one of the https://spring.io/guides[guides]. +* Ask a question - we monitor https://stackoverflow.com[stackoverflow.com] for questions tagged with https://stackoverflow.com/tags/spring-data[`spring-data-couchbase`]. +You can also chat with the community on https://gitter.im/spring-projects/spring-data[Gitter]. +* Report bugs with Spring Data Couchbase at https://jira.spring.io/browse/DATACOUCH[jira.spring.io/browse/DATACOUCH]. + +== Reporting Issues + +Spring Data uses GitHub as issue tracking system to record bugs and feature requests. +If you want to raise an issue, please follow the recommendations below: + +* Before you log a bug, please search the +https://github.com/spring-projects/spring-data-couchbase/issues[issue tracker] to see if someone has already reported the problem. +* If the issue does not already exist, https://github.com/spring-projects/spring-data-couchbase/issues/new[create a new issue]. +* Please provide as much information as possible with the issue report, we like to know the version of Spring Data that you are using and JVM version. +* If you need to paste code, or include a stack trace use Markdown +++```+++ escapes before and after your text. +* If possible try to create a test-case or project that replicates the issue. +Attach a link to your code or a compressed file containing your code. + +== Building from Source + +You don’t need to build from source to use Spring Data (binaries in https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and greatest, Spring Data can be easily built with the https://github.com/takari/maven-wrapper[maven wrapper]. +You also need JDK 17 or above. + +[source,bash] +---- + $ ./mvnw clean install +---- + +If you want to build with the regular `mvn` command, you will need https://maven.apache.org/run-maven/index.html[Maven v3.5.0 or above]. + +_Also see link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] if you wish to submit pull requests, and in particular please sign the https://cla.pivotal.io/sign/spring[Contributor’s Agreement] before your first non-trivial change._ + +=== Building reference documentation + +Building the documentation builds also the project without running tests. + +[source,bash] +---- + $ ./mvnw clean install -Pantora +---- + +The generated documentation is available from `target/antora/site/index.html`. + +=== Building and staging reference documentation for review + +[source,bash] +---- + export MY_GIT_USER= + mvn generate-resources + docs=`pwd`/target/site/reference/html + pushd /tmp + mkdir $$ + cd $$ + # see https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site + # this examples uses a repository named "staged" + git clone git@github.com:${MY_GIT_USER}/staged.git -b gh-pages + cd staged + cp -R $docs/* . + git add . + git commit --message "stage for review" + git push origin gh-pages + popd +---- + +The generated documentation is available from `target/site/reference/html/index.html`. + +== Examples + +* https://github.com/spring-projects/spring-data-examples/[Spring Data Examples] contains example projects that explain specific features in more detail. + +== License + +Spring Data Couchbase is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license]. diff --git a/spring-data-couchbase/SECURITY.adoc b/spring-data-couchbase/SECURITY.adoc new file mode 100644 index 000000000..2d8106fbe --- /dev/null +++ b/spring-data-couchbase/SECURITY.adoc @@ -0,0 +1,9 @@ +# Security Policy + +## Supported Versions + +Please see the https://spring.io/projects/spring-data-couchbase[Spring Data Couchbase] project page for supported versions. + +## Reporting a Vulnerability + +Please don't raise security vulnerabilities here. Head over to https://pivotal.io/security to learn how to disclose them responsibly. diff --git a/spring-data-couchbase/package.json b/spring-data-couchbase/package.json new file mode 100644 index 000000000..057a40fe8 --- /dev/null +++ b/spring-data-couchbase/package.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "antora": "3.2.0-alpha.6", + "@antora/atlas-extension": "1.0.0-alpha.2", + "@antora/collector-extension": "1.0.0-alpha.7", + "@asciidoctor/tabs": "1.0.0-beta.6", + "@springio/antora-extensions": "1.13.0", + "@springio/asciidoctor-extensions": "1.0.0-alpha.11" + } +} diff --git a/spring-data-couchbase/pom.xml b/spring-data-couchbase/pom.xml new file mode 100644 index 000000000..566302df3 --- /dev/null +++ b/spring-data-couchbase/pom.xml @@ -0,0 +1,345 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-couchbase + 5.4.0-SNAPSHOT + + Spring Data Couchbase + Spring Data integration for Couchbase + https://github.com/spring-projects/spring-data-couchbase + + + org.springframework.data + spring-data-couchbase-parent + 5.4.0-SNAPSHOT + + + + 3.7.4 + 3.4.0-SNAPSHOT + spring.data.couchbase + 7.0.1.Final + 3.1.0 + 2.10.13 + 2.13.4 + + + + + + org.testcontainers + testcontainers-bom + ${testcontainers} + pom + import + + + + + + + + org.springframework + spring-context-support + + + + org.springframework + spring-web + + + + org.springframework + spring-tx + + + + ${project.groupId} + spring-data-commons + ${springdata.commons} + + + + com.couchbase.client + java-client + ${couchbase} + + + + + jakarta.enterprise + jakarta.enterprise.cdi-api + ${cdi} + provided + true + + + + org.springframework + spring-test + ${spring} + test + + + + org.hibernate.validator + hibernate-validator + 7.0.1.Final + test + + + + org.apache.httpcomponents + httpclient + 4.5.13 + test + + + + io.projectreactor + reactor-test + test + + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson-joda} + test + + + + com.fasterxml.jackson.core + jackson-databind + + + + joda-time + joda-time + ${jodatime} + true + + + + org.testcontainers + testcontainers + test + + + + + jakarta.validation + jakarta.validation-api + ${validation} + true + + + + jakarta.el + jakarta.el-api + ${jakarta.el} + provided + true + + + + org.glassfish + jakarta.el + ${jakarta.el} + provided + true + + + + + + org.apache.geronimo.specs + geronimo-jcdi_2.0_spec + 1.0.1 + test + + + + javax.interceptor + javax.interceptor-api + 1.2.1 + test + + + + org.apache.openwebbeans + openwebbeans-se + ${webbeans} + test + + + + com.couchbase.mock + CouchbaseMock + 1.5.25 + test + + + + com.squareup.okhttp3 + okhttp + 4.8.1 + test + + + + com.squareup.okhttp3 + okhttp-tls + 4.8.1 + test + + + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin} + true + + + + org.jetbrains.kotlin + kotlin-reflect + ${kotlin} + true + + + + org.jetbrains.kotlin + kotlin-test + ${kotlin} + test + + + + org.awaitility + awaitility + 4.0.3 + test + + + + com.couchbase.client + couchbase-encryption + ${couchbase.encryption} + test + + + + org.springframework.data + spring-data-couchbase-testutils + 0.0.99 + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + none + + + + + org.apache.maven.plugins + maven-surefire-plugin + + false + false + + **/*Test.java + **/*Tests.java + + + **/*IntegrationTest.java + **/*IntegrationTests.java + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + false + + **/*IntegrationTest.java + **/*IntegrationTests.java + + + + + + integration-test + verify + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + + + + + + + antora-process-resources + + + + src/main/antora/resources/antora-resources + true + + + + + + antora + + + + org.antora + antora-maven-plugin + + + + + + + + + spring-snapshot + https://repo.spring.io/snapshot + + true + + + false + + + + spring-milestone + https://repo.spring.io/milestone + + + diff --git a/spring-data-couchbase/settings.xml b/spring-data-couchbase/settings.xml new file mode 100644 index 000000000..b3227cc11 --- /dev/null +++ b/spring-data-couchbase/settings.xml @@ -0,0 +1,29 @@ + + + + + spring-plugins-release + ${env.ARTIFACTORY_USR} + ${env.ARTIFACTORY_PSW} + + + spring-libs-snapshot + ${env.ARTIFACTORY_USR} + ${env.ARTIFACTORY_PSW} + + + spring-libs-milestone + ${env.ARTIFACTORY_USR} + ${env.ARTIFACTORY_PSW} + + + spring-libs-release + ${env.ARTIFACTORY_USR} + ${env.ARTIFACTORY_PSW} + + + + \ No newline at end of file diff --git a/src/main/antora/.github/workflows/deploy-docs.yml b/spring-data-couchbase/src/main/antora/.github/workflows/deploy-docs.yml similarity index 100% rename from src/main/antora/.github/workflows/deploy-docs.yml rename to spring-data-couchbase/src/main/antora/.github/workflows/deploy-docs.yml diff --git a/src/main/antora/antora-playbook.yml b/spring-data-couchbase/src/main/antora/antora-playbook.yml similarity index 100% rename from src/main/antora/antora-playbook.yml rename to spring-data-couchbase/src/main/antora/antora-playbook.yml diff --git a/src/main/antora/antora.yml b/spring-data-couchbase/src/main/antora/antora.yml similarity index 100% rename from src/main/antora/antora.yml rename to spring-data-couchbase/src/main/antora/antora.yml diff --git a/src/main/antora/modules/ROOT/nav.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/nav.adoc similarity index 100% rename from src/main/antora/modules/ROOT/nav.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/nav.adoc diff --git a/src/main/antora/modules/ROOT/pages/commons/migrating.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/commons/migrating.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/commons/migrating.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/commons/migrating.adoc diff --git a/src/main/antora/modules/ROOT/pages/commons/upgrade.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/commons/upgrade.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/commons/upgrade.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/commons/upgrade.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/ansijoins.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/ansijoins.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/ansijoins.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/ansijoins.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/autokeygeneration.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/autokeygeneration.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/autokeygeneration.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/autokeygeneration.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/caching.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/caching.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/caching.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/caching.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/collections.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/collections.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/collections.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/collections.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/configuration.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/configuration.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/configuration.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/configuration.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/entity.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/entity.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/entity.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/entity.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/fieldlevelencryption.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/fieldlevelencryption.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/fieldlevelencryption.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/fieldlevelencryption.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/reactiverepository.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/reactiverepository.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/reactiverepository.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/reactiverepository.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/repository.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/repository.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/repository.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/repository.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/template.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/template.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/template.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/template.adoc diff --git a/src/main/antora/modules/ROOT/pages/couchbase/transactions.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/transactions.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/couchbase/transactions.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/couchbase/transactions.adoc diff --git a/src/main/antora/modules/ROOT/pages/index.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/index.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/index.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/index.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-concepts.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/core-domain-events.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-domain-events.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/core-domain-events.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-domain-events.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/core-extensions.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-extensions.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/core-extensions.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/core-extensions.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/create-instances.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/create-instances.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/create-instances.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/create-instances.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/custom-implementations.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/custom-implementations.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/custom-implementations.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/custom-implementations.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/definition.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/definition.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/definition.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/definition.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/null-handling.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/null-handling.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/null-handling.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/null-handling.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/projections.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/projections.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/projections.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/projections.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/query-keywords-reference.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-keywords-reference.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/query-keywords-reference.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-keywords-reference.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/query-methods-details.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-methods-details.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/query-methods-details.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-methods-details.adoc diff --git a/src/main/antora/modules/ROOT/pages/repositories/query-return-types-reference.adoc b/spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-return-types-reference.adoc similarity index 100% rename from src/main/antora/modules/ROOT/pages/repositories/query-return-types-reference.adoc rename to spring-data-couchbase/src/main/antora/modules/ROOT/pages/repositories/query-return-types-reference.adoc diff --git a/src/main/antora/resources/antora-resources/antora.yml b/spring-data-couchbase/src/main/antora/resources/antora-resources/antora.yml similarity index 100% rename from src/main/antora/resources/antora-resources/antora.yml rename to spring-data-couchbase/src/main/antora/resources/antora-resources/antora.yml diff --git a/src/main/java/org/springframework/data/couchbase/CouchbaseClientFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/CouchbaseClientFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/CouchbaseClientFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/CouchbaseClientFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/SimpleCouchbaseClientFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/SimpleCouchbaseClientFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/SimpleCouchbaseClientFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/SimpleCouchbaseClientFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/CacheKeyPrefix.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CacheKeyPrefix.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/CacheKeyPrefix.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CacheKeyPrefix.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheWriter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheWriter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheWriter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheWriter.java diff --git a/src/main/java/org/springframework/data/couchbase/cache/DefaultCouchbaseCacheWriter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/DefaultCouchbaseCacheWriter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/cache/DefaultCouchbaseCacheWriter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/cache/DefaultCouchbaseCacheWriter.java diff --git a/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java diff --git a/src/main/java/org/springframework/data/couchbase/config/BeanNames.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/BeanNames.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/config/BeanNames.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/BeanNames.java diff --git a/src/main/java/org/springframework/data/couchbase/config/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/config/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/config/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/AbstractTemplateSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/AbstractTemplateSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/AbstractTemplateSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/AbstractTemplateSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CollectionCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CollectionCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CollectionCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CollectionCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseDataIntegrityViolationException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseDataIntegrityViolationException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseDataIntegrityViolationException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseDataIntegrityViolationException.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseOperations.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseOperations.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseOperations.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseOperations.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseQueryExecutionException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseQueryExecutionException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseQueryExecutionException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseQueryExecutionException.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplate.java diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplateSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplateSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplateSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/CouchbaseTemplateSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableExistsByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByAnalyticsOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindByQueryOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableFindFromReplicasByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableInsertByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableMutateInByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRangeScanOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableRemoveByQueryOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableReplaceByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ExecutableUpsertByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/FluentCouchbaseOperations.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/FluentCouchbaseOperations.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/FluentCouchbaseOperations.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/FluentCouchbaseOperations.java diff --git a/src/main/java/org/springframework/data/couchbase/core/NonReactiveSupportWrapper.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/NonReactiveSupportWrapper.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/NonReactiveSupportWrapper.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/NonReactiveSupportWrapper.java diff --git a/src/main/java/org/springframework/data/couchbase/core/OperationCancellationException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/OperationCancellationException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/OperationCancellationException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/OperationCancellationException.java diff --git a/src/main/java/org/springframework/data/couchbase/core/OperationInterruptedException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/OperationInterruptedException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/OperationInterruptedException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/OperationInterruptedException.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseOperations.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseOperations.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseOperations.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseOperations.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplate.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplate.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplate.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplate.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveExistsByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByAnalyticsOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByQueryOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFindFromReplicasByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFluentCouchbaseOperations.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFluentCouchbaseOperations.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveFluentCouchbaseOperations.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveFluentCouchbaseOperations.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveInsertByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveMutateInByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRangeScanOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveRemoveByQueryOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveReplaceByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveTemplateSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveTemplateSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveTemplateSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveTemplateSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperation.java diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperationSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperationSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperationSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/ReactiveUpsertByIdOperationSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/RemoveResult.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/RemoveResult.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/RemoveResult.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/RemoveResult.java diff --git a/src/main/java/org/springframework/data/couchbase/core/TemplateSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/TemplateSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/TemplateSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/TemplateSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/TransactionalSupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/TransactionalSupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/TransactionalSupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/TransactionalSupport.java diff --git a/src/main/java/org/springframework/data/couchbase/core/UnsupportedCouchbaseFeatureException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/UnsupportedCouchbaseFeatureException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/UnsupportedCouchbaseFeatureException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/UnsupportedCouchbaseFeatureException.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/AbstractCouchbaseConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/AbstractCouchbaseConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/AbstractCouchbaseConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/AbstractCouchbaseConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/BooleanToEnumConverterFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/BooleanToEnumConverterFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/BooleanToEnumConverterFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/BooleanToEnumConverterFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/ConverterHasNoConversion.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/ConverterHasNoConversion.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/ConverterHasNoConversion.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/ConverterHasNoConversion.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/ConverterRegistration.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/ConverterRegistration.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/ConverterRegistration.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/ConverterRegistration.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConversionContext.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConversionContext.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConversionContext.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConversionContext.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseDocumentPropertyAccessor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseDocumentPropertyAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseDocumentPropertyAccessor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseDocumentPropertyAccessor.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseJsr310Converters.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseJsr310Converters.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseJsr310Converters.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseJsr310Converters.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbasePropertyValueConverterFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbasePropertyValueConverterFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbasePropertyValueConverterFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbasePropertyValueConverterFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseTypeMapper.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseTypeMapper.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseTypeMapper.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseTypeMapper.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseWriter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseWriter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseWriter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseWriter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CryptoConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CryptoConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CryptoConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CryptoConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/DateConverters.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/DateConverters.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/DateConverters.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/DateConverters.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/DefaultCouchbaseTypeMapper.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/DefaultCouchbaseTypeMapper.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/DefaultCouchbaseTypeMapper.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/DefaultCouchbaseTypeMapper.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/IntegerToEnumConverterFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/IntegerToEnumConverterFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/IntegerToEnumConverterFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/IntegerToEnumConverterFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/JsonValueConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/JsonValueConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/JsonValueConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/JsonValueConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/OtherConverters.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/OtherConverters.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/OtherConverters.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/OtherConverters.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/StringToEnumConverterFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/StringToEnumConverterFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/StringToEnumConverterFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/StringToEnumConverterFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/TypeAwareTypeInformationMapper.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/TypeAwareTypeInformationMapper.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/TypeAwareTypeInformationMapper.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/TypeAwareTypeInformationMapper.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/join/N1qlJoinResolver.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/join/N1qlJoinResolver.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/join/N1qlJoinResolver.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/join/N1qlJoinResolver.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationService.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationService.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationService.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationService.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/translation/TranslationService.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/TranslationService.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/translation/TranslationService.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/TranslationService.java diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/translation/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/convert/translation/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/translation/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndex.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndex.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndex.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndex.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndexes.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndexes.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndexes.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CompositeQueryIndexes.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexResolver.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexResolver.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexResolver.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/CouchbasePersistentEntityIndexResolver.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/IndexDefinition.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/IndexDefinition.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/IndexDefinition.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/IndexDefinition.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexDirection.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexDirection.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/QueryIndexDirection.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexDirection.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexResolver.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexResolver.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/QueryIndexResolver.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexResolver.java diff --git a/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexed.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexed.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/index/QueryIndexed.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/index/QueryIndexed.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseMappingContext.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseMappingContext.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseMappingContext.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseMappingContext.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseSimpleTypes.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseSimpleTypes.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseSimpleTypes.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseSimpleTypes.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/Document.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Document.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/Document.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Document.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/Durability.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Durability.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/Durability.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Durability.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/Expiration.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Expiration.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/Expiration.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Expiration.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/Expiry.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Expiry.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/Expiry.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Expiry.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/Field.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Field.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/Field.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/Field.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/KeySettings.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/KeySettings.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/KeySettings.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/KeySettings.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AbstractCouchbaseEventListener.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterConvertCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterConvertCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterConvertCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterConvertCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterDeleteEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterDeleteEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterDeleteEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterDeleteEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterSaveEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterSaveEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterSaveEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AfterSaveEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEntityCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEntityCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEntityCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEntityCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEventListener.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEventListener.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEventListener.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/AuditingEventListener.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeConvertEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeDeleteEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeDeleteEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeDeleteEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeDeleteEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeSaveEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeSaveEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeSaveEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/BeforeSaveEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/CouchbaseMappingEvent.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/CouchbaseMappingEvent.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/CouchbaseMappingEvent.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/CouchbaseMappingEvent.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/LoggingEventListener.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/LoggingEventListener.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/LoggingEventListener.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/LoggingEventListener.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAfterConvertCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAfterConvertCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAfterConvertCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAfterConvertCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAuditingEntityCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAuditingEntityCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAuditingEntityCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveAuditingEntityCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveBeforeConvertCallback.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveBeforeConvertCallback.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveBeforeConvertCallback.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ReactiveBeforeConvertCallback.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/ValidatingCouchbaseEventListener.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ValidatingCouchbaseEventListener.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/ValidatingCouchbaseEventListener.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/ValidatingCouchbaseEventListener.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/event/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/event/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/event/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/id/GeneratedValue.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/GeneratedValue.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/id/GeneratedValue.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/GeneratedValue.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/id/GenerationStrategy.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/GenerationStrategy.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/id/GenerationStrategy.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/GenerationStrategy.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdAttribute.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdAttribute.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/id/IdAttribute.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdAttribute.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdPrefix.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdPrefix.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/id/IdPrefix.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdPrefix.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdSuffix.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdSuffix.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/id/IdSuffix.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/id/IdSuffix.java diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/mapping/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/mapping/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/AnalyticsQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/AnalyticsQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/AnalyticsQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/AnalyticsQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/Consistency.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Consistency.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/Consistency.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Consistency.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/Dimensional.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Dimensional.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/Dimensional.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Dimensional.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/FetchType.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/FetchType.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/FetchType.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/FetchType.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/HashSide.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/HashSide.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/HashSide.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/HashSide.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/Meta.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Meta.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/Meta.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Meta.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1QLExpression.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1QLExpression.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/N1QLExpression.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1QLExpression.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1QLQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1QLQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/N1QLQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1QLQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1qlJoin.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlJoin.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/N1qlJoin.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlJoin.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1qlPrimaryIndexed.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlPrimaryIndexed.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/N1qlPrimaryIndexed.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlPrimaryIndexed.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/OptionsBuilder.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/Query.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Query.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/Query.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/Query.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteria.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteriaDefinition.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteriaDefinition.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/QueryCriteriaDefinition.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/QueryCriteriaDefinition.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/View.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/View.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/View.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/View.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java diff --git a/src/main/java/org/springframework/data/couchbase/core/query/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/query/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/query/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/AnyId.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/ConsistentWith.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/ConsistentWith.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/ConsistentWith.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/ConsistentWith.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/InCollection.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/InCollection.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/InCollection.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/InCollection.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/InScope.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/InScope.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/InScope.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/InScope.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/PseudoArgs.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/PseudoArgs.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/PseudoArgs.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/PseudoArgs.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/TemplateUtils.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/TemplateUtils.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/TemplateUtils.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/TemplateUtils.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsConsistency.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsConsistency.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsConsistency.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsConsistency.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithAnalyticsQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithBatchByteLimit.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithBatchByteLimit.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithBatchByteLimit.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithBatchByteLimit.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithBatchItemLimit.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithBatchItemLimit.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithBatchItemLimit.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithBatchItemLimit.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithConsistency.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithConsistency.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithConsistency.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithConsistency.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithDistinct.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithDistinct.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithDistinct.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithDistinct.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithDurability.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithDurability.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithDurability.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithDurability.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithExistsOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithExistsOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithExistsOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithExistsOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithExpiry.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithExpiry.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithExpiry.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithExpiry.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithGetAnyReplicaOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithGetAnyReplicaOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithGetAnyReplicaOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithGetAnyReplicaOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithGetOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithGetOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithGetOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithGetOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithInsertOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithInsertOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithInsertOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithInsertOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithLock.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithLock.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithLock.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithLock.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithMutateInOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInPaths.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInPaths.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithMutateInPaths.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithMutateInPaths.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithProjecting.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjecting.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithProjecting.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjecting.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithProjection.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjection.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithProjection.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjection.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithProjectionId.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjectionId.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithProjectionId.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithProjectionId.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithQueryOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithQueryOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithQueryOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithQueryOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithRemoveOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithRemoveOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithRemoveOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithRemoveOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithReplaceOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithReplaceOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithReplaceOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithReplaceOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithScanOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithScanOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithScanOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithScanOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithScanSort.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithScanSort.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithScanSort.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithScanSort.java diff --git a/src/main/java/org/springframework/data/couchbase/core/support/WithUpsertOptions.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithUpsertOptions.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/core/support/WithUpsertOptions.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/support/WithUpsertOptions.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/Collection.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Collection.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/Collection.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Collection.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/CouchbaseRepository.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/CouchbaseRepository.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/CouchbaseRepository.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/CouchbaseRepository.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/Options.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Options.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/Options.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Options.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/Query.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Query.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/Query.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Query.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepository.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepository.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepository.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepository.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/ScanConsistency.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/ScanConsistency.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/ScanConsistency.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/ScanConsistency.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/Scope.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Scope.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/Scope.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/Scope.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/auditing/CouchbaseAuditingRegistrar.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/CouchbaseAuditingRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/auditing/CouchbaseAuditingRegistrar.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/CouchbaseAuditingRegistrar.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableCouchbaseAuditing.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableCouchbaseAuditing.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/auditing/EnableCouchbaseAuditing.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableCouchbaseAuditing.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableReactiveCouchbaseAuditing.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableReactiveCouchbaseAuditing.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/auditing/EnableReactiveCouchbaseAuditing.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/EnableReactiveCouchbaseAuditing.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/auditing/PersistentEntitiesFactoryBean.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/PersistentEntitiesFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/auditing/PersistentEntitiesFactoryBean.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/PersistentEntitiesFactoryBean.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/auditing/ReactiveCouchbaseAuditingRegistrar.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/ReactiveCouchbaseAuditingRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/auditing/ReactiveCouchbaseAuditingRegistrar.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/auditing/ReactiveCouchbaseAuditingRegistrar.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryBean.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryBean.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryBean.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryExtension.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryExtension.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryExtension.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/cdi/CouchbaseRepositoryExtension.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoriesRegistrar.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoriesRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoriesRegistrar.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoriesRegistrar.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoryConfigurationExtension.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoryConfigurationExtension.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoryConfigurationExtension.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/CouchbaseRepositoryConfigurationExtension.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/EnableCouchbaseRepositories.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/EnableCouchbaseRepositories.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/EnableCouchbaseRepositories.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/EnableCouchbaseRepositories.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/EnableReactiveCouchbaseRepositories.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/EnableReactiveCouchbaseRepositories.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/EnableReactiveCouchbaseRepositories.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/EnableReactiveCouchbaseRepositories.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoriesRegistrar.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoriesRegistrar.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoriesRegistrar.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoriesRegistrar.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoryConfigurationExtension.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoryConfigurationExtension.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoryConfigurationExtension.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveCouchbaseRepositoryConfigurationExtension.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/ReactiveRepositoryOperationsMapping.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/RepositoryOperationsMapping.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/RepositoryOperationsMapping.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/RepositoryOperationsMapping.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/RepositoryOperationsMapping.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/config/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/config/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/config/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQueryBase.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQueryBase.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQueryBase.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractCouchbaseQueryBase.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/AbstractN1qlBasedQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractN1qlBasedQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/AbstractN1qlBasedQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractN1qlBasedQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/AbstractReactiveCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractReactiveCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/AbstractReactiveCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/AbstractReactiveCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ConvertingIterator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ConvertingIterator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ConvertingIterator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ConvertingIterator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseEntityInformation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseEntityInformation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseEntityInformation.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CouchbasePartTree.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbasePartTree.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CouchbasePartTree.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbasePartTree.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryExecution.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryExecution.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryExecution.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryExecution.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryMethod.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryMethod.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryMethod.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseQueryMethod.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/N1qlCountQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlCountQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/N1qlCountQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlCountQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/N1qlMutateQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlMutateQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/N1qlMutateQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlMutateQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/N1qlRepositoryQueryExecutor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlRepositoryQueryExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/N1qlRepositoryQueryExecutor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/N1qlRepositoryQueryExecutor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/PartTreeCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlBasedQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlBasedQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlBasedQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlBasedQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/PartTreeN1qlQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveAbstractN1qlBasedQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveAbstractN1qlBasedQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveAbstractN1qlBasedQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveAbstractN1qlBasedQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseParameterAccessor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseParameterAccessor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseParameterAccessor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseParameterAccessor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryExecution.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryExecution.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryExecution.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryExecution.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryMethod.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryMethod.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryMethod.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseQueryMethod.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveN1qlRepositoryQueryExecutor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveN1qlRepositoryQueryExecutor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveN1qlRepositoryQueryExecutor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveN1qlRepositoryQueryExecutor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeN1qlBasedQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeN1qlBasedQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeN1qlBasedQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactivePartTreeN1qlBasedQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveStringBasedCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveStringBasedCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ReactiveStringBasedCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ReactiveStringBasedCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/ResultProcessingConverter.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ResultProcessingConverter.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/ResultProcessingConverter.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/ResultProcessingConverter.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedCouchbaseQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedCouchbaseQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/StringBasedCouchbaseQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedCouchbaseQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedN1qlQueryParser.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedN1qlQueryParser.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/StringBasedN1qlQueryParser.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringBasedN1qlQueryParser.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/AwtPointInShapeEvaluator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/GeoUtils.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/GeoUtils.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/GeoUtils.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/GeoUtils.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlQueryCreatorUtils.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/PointInShapeEvaluator.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/query/support/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/query/support/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/BasicQuery.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/BasicQuery.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/BasicQuery.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/BasicQuery.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryBase.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryBase.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryBase.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryBase.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java similarity index 90% rename from src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java index 871528943..6e21a1956 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java +++ b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactory.java @@ -19,6 +19,8 @@ import static org.springframework.data.querydsl.QuerydslUtils.QUERY_DSL_PRESENT; import java.io.Serializable; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Optional; @@ -208,8 +210,26 @@ protected RepositoryComposition.RepositoryFragments getRepositoryFragments(Repos "Cannot combine Querydsl and reactive repository support in a single interface"); } - return RepositoryComposition.RepositoryFragments - .just(new QuerydslCouchbasePredicateExecutor<>(getEntityInformation(metadata.getDomainType()), operations)); + Constructor constructor = null; + + try { + Class clazz = Class.forName( + "org.springframework.data.couchbase.repository.support.QuerydslCouchbasePredicateExecutor"); + constructor = clazz.getConstructor(CouchbaseEntityInformation.class, CouchbaseOperations.class); + } catch (ClassNotFoundException e) { + // spring-data-couchbase-querydsl is not present + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + + if( constructor != null) { + try { + return RepositoryComposition.RepositoryFragments + .just(constructor.newInstance(getEntityInformation(metadata.getDomainType()), operations)); + } catch (InstantiationException | IllegalAccessException|InvocationTargetException e) { + throw new RuntimeException(e); + } + } } return RepositoryComposition.RepositoryFragments.empty(); diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactoryBean.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactoryBean.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CouchbaseRepositoryFactoryBean.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadata.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadata.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadata.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadata.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadataPostProcessor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadataPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadataPostProcessor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/CrudMethodMetadataPostProcessor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/DBRef.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/DBRef.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/DBRef.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/DBRef.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/DynamicInvocationHandler.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/DynamicInvocationHandler.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/DynamicInvocationHandler.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/DynamicInvocationHandler.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/FetchableFluentQuerySupport.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/FetchableFluentQuerySupport.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/FetchableFluentQuerySupport.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/FetchableFluentQuerySupport.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/FindMethod.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/MappingCouchbaseEntityInformation.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/MappingCouchbaseEntityInformation.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/MappingCouchbaseEntityInformation.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/MappingCouchbaseEntityInformation.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactory.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactory.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactory.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactory.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactoryBean.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactoryBean.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactoryBean.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ReactiveCouchbaseRepositoryFactoryBean.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SimpleCouchbaseRepository.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/SimpleCouchbaseRepository.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/SimpleCouchbaseRepository.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/SimpleCouchbaseRepository.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/SimpleReactiveCouchbaseRepository.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/SimpleReactiveCouchbaseRepository.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/SimpleReactiveCouchbaseRepository.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/SimpleReactiveCouchbaseRepository.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/Util.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/Util.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/Util.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/Util.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/ViewMetadataProvider.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ViewMetadataProvider.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/ViewMetadataProvider.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ViewMetadataProvider.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/ViewPostProcessor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ViewPostProcessor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/ViewPostProcessor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/ViewPostProcessor.java diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/package-info.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/package-info.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/repository/support/package-info.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/repository/support/package-info.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseCallbackTransactionManager.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseCallbackTransactionManager.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseCallbackTransactionManager.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseCallbackTransactionManager.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceHolder.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceHolder.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceHolder.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceHolder.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceOwner.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceOwner.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceOwner.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseResourceOwner.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionDefinition.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionDefinition.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionDefinition.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionDefinition.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionInterceptor.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionInterceptor.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionInterceptor.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionInterceptor.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionStatus.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionStatus.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionStatus.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionStatus.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionalOperator.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionalOperator.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionalOperator.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/CouchbaseTransactionalOperator.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionRollbackRequestedException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionRollbackRequestedException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/error/TransactionRollbackRequestedException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionRollbackRequestedException.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemAmbiguousException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemAmbiguousException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemAmbiguousException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemAmbiguousException.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemCouchbaseException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemCouchbaseException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemCouchbaseException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemCouchbaseException.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemUnambiguousException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemUnambiguousException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemUnambiguousException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/TransactionSystemUnambiguousException.java diff --git a/src/main/java/org/springframework/data/couchbase/transaction/error/UncategorizedTransactionDataAccessException.java b/spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/UncategorizedTransactionDataAccessException.java similarity index 100% rename from src/main/java/org/springframework/data/couchbase/transaction/error/UncategorizedTransactionDataAccessException.java rename to spring-data-couchbase/src/main/java/org/springframework/data/couchbase/transaction/error/UncategorizedTransactionDataAccessException.java diff --git a/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension b/spring-data-couchbase/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension similarity index 100% rename from src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension rename to spring-data-couchbase/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension diff --git a/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/spring-data-couchbase/src/main/resources/META-INF/services/javax.annotation.processing.Processor similarity index 100% rename from src/main/resources/META-INF/services/javax.annotation.processing.Processor rename to spring-data-couchbase/src/main/resources/META-INF/services/javax.annotation.processing.Processor diff --git a/src/main/resources/META-INF/spring.factories b/spring-data-couchbase/src/main/resources/META-INF/spring.factories similarity index 100% rename from src/main/resources/META-INF/spring.factories rename to spring-data-couchbase/src/main/resources/META-INF/spring.factories diff --git a/src/main/resources/META-INF/spring.handlers b/spring-data-couchbase/src/main/resources/META-INF/spring.handlers similarity index 100% rename from src/main/resources/META-INF/spring.handlers rename to spring-data-couchbase/src/main/resources/META-INF/spring.handlers diff --git a/src/main/resources/META-INF/spring.schemas b/spring-data-couchbase/src/main/resources/META-INF/spring.schemas similarity index 100% rename from src/main/resources/META-INF/spring.schemas rename to spring-data-couchbase/src/main/resources/META-INF/spring.schemas diff --git a/src/main/resources/META-INF/spring.tooling b/spring-data-couchbase/src/main/resources/META-INF/spring.tooling similarity index 100% rename from src/main/resources/META-INF/spring.tooling rename to spring-data-couchbase/src/main/resources/META-INF/spring.tooling diff --git a/src/main/resources/changelog.txt b/spring-data-couchbase/src/main/resources/changelog.txt similarity index 100% rename from src/main/resources/changelog.txt rename to spring-data-couchbase/src/main/resources/changelog.txt diff --git a/src/main/resources/license.txt b/spring-data-couchbase/src/main/resources/license.txt similarity index 100% rename from src/main/resources/license.txt rename to spring-data-couchbase/src/main/resources/license.txt diff --git a/src/main/resources/notice.txt b/spring-data-couchbase/src/main/resources/notice.txt similarity index 100% rename from src/main/resources/notice.txt rename to spring-data-couchbase/src/main/resources/notice.txt diff --git a/src/test/java/org/springframework/data/couchbase/cache/CacheUser.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CacheUser.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/cache/CacheUser.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CacheUser.java diff --git a/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java similarity index 84% rename from src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java index 38349f57c..849beff93 100644 --- a/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionIntegrationTests.java @@ -25,7 +25,13 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.data.couchbase.core.CouchbaseTemplate; +import org.springframework.data.couchbase.core.mapping.event.ValidatingCouchbaseEventListener; +import org.springframework.data.couchbase.repository.auditing.EnableCouchbaseAuditing; +import org.springframework.data.couchbase.repository.auditing.EnableReactiveCouchbaseAuditing; +import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; import org.springframework.data.couchbase.util.Capabilities; import org.springframework.data.couchbase.util.ClusterType; import org.springframework.data.couchbase.util.CollectionAwareIntegrationTests; @@ -33,6 +39,7 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.data.couchbase.domain.Config; +import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; /** * CouchbaseCache tests Theses tests rely on a cb server running. @@ -40,7 +47,7 @@ * @author Michael Reiche */ @IgnoreWhen(clusterTypes = ClusterType.MOCKED, missesCapabilities = { Capabilities.COLLECTIONS }) -@SpringJUnitConfig(Config.class) +@SpringJUnitConfig(CouchbaseCacheCollectionIntegrationTests.Config.class) @DirtiesContext class CouchbaseCacheCollectionIntegrationTests extends CollectionAwareIntegrationTests { @@ -53,7 +60,7 @@ class CouchbaseCacheCollectionIntegrationTests extends CollectionAwareIntegratio public void beforeEach() { super.beforeEach(); cache = CouchbaseCacheManager.create(couchbaseTemplate.getCouchbaseClientFactory()).createCouchbaseCache("myCache", - CouchbaseCacheConfiguration.defaultCacheConfig().collection("my_collection")); + CouchbaseCacheConfiguration.defaultCacheConfig().collection(collectionName)); cache.clear(); } @@ -135,4 +142,18 @@ void cachePutIfAbsent() { assertEquals(user1, cache.get(user1.getId()).get()); // user1.getId() is still user1 } + @Configuration + @EnableCouchbaseRepositories("org.springframework.data.couchbase") + @EnableCouchbaseAuditing(auditorAwareRef = "auditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef") + @EnableReactiveCouchbaseAuditing(auditorAwareRef = "reactiveAuditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef") + + static class Config extends org.springframework.data.couchbase.domain.Config { + + @Override + + protected String getScopeName(){ + return scopeName; + } + } + } diff --git a/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java similarity index 87% rename from src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java index f65db706d..ababbb726 100644 --- a/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheCollectionTranscoderIntegrationTests.java @@ -24,8 +24,12 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; import org.springframework.data.couchbase.core.CouchbaseTemplate; import org.springframework.data.couchbase.domain.Config; +import org.springframework.data.couchbase.repository.auditing.EnableCouchbaseAuditing; +import org.springframework.data.couchbase.repository.auditing.EnableReactiveCouchbaseAuditing; +import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories; import org.springframework.data.couchbase.util.Capabilities; import org.springframework.data.couchbase.util.ClusterType; import org.springframework.data.couchbase.util.CollectionAwareIntegrationTests; @@ -39,7 +43,7 @@ * @author Michael Reiche */ @IgnoreWhen(clusterTypes = ClusterType.MOCKED, missesCapabilities = { Capabilities.COLLECTIONS }) -@SpringJUnitConfig(Config.class) +@SpringJUnitConfig(CouchbaseCacheCollectionIntegrationTests.Config.class) @DirtiesContext class CouchbaseCacheCollectionTranscoderIntegrationTests extends CollectionAwareIntegrationTests { @@ -137,4 +141,18 @@ void cachePutIfAbsent() { assertEquals(user1, cache.get(user1.getId(), CacheUser.class)); // user1.getId() is still user1 } + @Configuration + @EnableCouchbaseRepositories("org.springframework.data.couchbase") + @EnableCouchbaseAuditing(auditorAwareRef = "auditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef") + @EnableReactiveCouchbaseAuditing(auditorAwareRef = "reactiveAuditorAwareRef", dateTimeProviderRef = "dateTimeProviderRef") + + static class Config extends org.springframework.data.couchbase.domain.Config { + + @Override + + protected String getScopeName(){ + return scopeName; + } + } + } diff --git a/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/cache/CouchbaseCacheIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateKeyValueIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateKeyValueIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateKeyValueIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateKeyValueIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CouchbaseTemplateQueryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/CustomTypeKeyIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CustomTypeKeyIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/CustomTypeKeyIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/CustomTypeKeyIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateConcurrencyTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateConcurrencyTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateConcurrencyTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateConcurrencyTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateKeyValueIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateKeyValueIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateKeyValueIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/ReactiveCouchbaseTemplateKeyValueIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationServiceTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationServiceTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationServiceTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/convert/translation/JacksonTranslationServiceTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentPropertyTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentPropertyTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentPropertyTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentPropertyTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/CustomConvertersTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/CustomConvertersTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/mapping/CustomConvertersTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/CustomConvertersTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/mapping/MappingCouchbaseConverterTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/query/QueryCriteriaTests.java diff --git a/src/test/java/org/springframework/data/couchbase/core/query/ReactiveCouchbaseTemplateQueryCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/query/ReactiveCouchbaseTemplateQueryCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/core/query/ReactiveCouchbaseTemplateQueryCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/core/query/ReactiveCouchbaseTemplateQueryCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AbstractEntity.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractEntity.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AbstractEntity.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractEntity.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AbstractUser.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractUser.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AbstractUser.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractUser.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AbstractUserRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractUserRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AbstractUserRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractUserRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AbstractingMappingCouchbaseConverter.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractingMappingCouchbaseConverter.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AbstractingMappingCouchbaseConverter.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractingMappingCouchbaseConverter.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AbstractingTypeMapper.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractingTypeMapper.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AbstractingTypeMapper.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AbstractingTypeMapper.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Address.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Address.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Address.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Address.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AddressAnnotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AddressAnnotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AddressAnnotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AddressAnnotated.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AddressWithEncStreet.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AddressWithEncStreet.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AddressWithEncStreet.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AddressWithEncStreet.java diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Airline.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Airline.java new file mode 100644 index 000000000..7754e3ce0 --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Airline.java @@ -0,0 +1,56 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.couchbase.core.index.CompositeQueryIndex; +import org.springframework.data.couchbase.core.index.QueryIndexed; +import org.springframework.data.couchbase.core.mapping.Document; + +@Document +@CompositeQueryIndex(fields = { "id", "name desc" }) +@CompositeQueryIndex(fields = { "id.something", "name desc" }) +/** + * @author Michael Reiche + */ +public class Airline extends ComparableEntity { + @Id String id; + + @QueryIndexed String name; + + String hqCountry; + + @PersistenceConstructor + public Airline(String id, String name, String hqCountry) { + this.id = id; + this.name = name; + this.hqCountry = hqCountry; + } + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public String getHqCountry() { + return hqCountry; + } + +} diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java new file mode 100644 index 000000000..95d795eac --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirlineRepository.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017-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 org.springframework.data.couchbase.domain; + +import java.util.Collection; +import java.util.List; + +import org.springframework.data.couchbase.repository.CouchbaseRepository; +import org.springframework.data.couchbase.repository.DynamicProxyable; +import org.springframework.data.couchbase.repository.Query; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +/** + * @author Michael Reiche + */ +@Repository +public interface AirlineRepository extends CouchbaseRepository, + DynamicProxyable { + + @Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and (name = $1)") + List getByName(@Param("airline_name") String airlineName); + + @Query("select meta().id as _ID, meta().cas as _CAS, #{#n1ql.bucket}.* from #{#n1ql.bucket} where #{#n1ql.filter} and (name = $1)") + List getByName_3x(@Param("airline_name") String airlineName); + + Page findByHqCountryIn(@Param("hqCountry") Collection hqCountry, Pageable pageable); +} diff --git a/src/test/java/org/springframework/data/couchbase/domain/Airport.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Airport.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Airport.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Airport.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValue.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValue.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportJsonValue.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValue.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValueRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValueRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportJsonValueRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValueRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValuedObject.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValuedObject.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportJsonValuedObject.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportJsonValuedObject.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportMini.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportMini.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportMini.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportMini.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryAnnotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryAnnotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryAnnotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryAnnotated.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryScanConsistencyTest.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryScanConsistencyTest.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryScanConsistencyTest.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AirportRepositoryScanConsistencyTest.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/AssessmentDO.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AssessmentDO.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/AssessmentDO.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/AssessmentDO.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/BigAirline.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/BigAirline.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/BigAirline.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/BigAirline.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/BigAirlineRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/BigAirlineRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/BigAirlineRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/BigAirlineRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/CapellaConnectSample.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/CapellaConnectSample.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/CapellaConnectSample.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/CapellaConnectSample.java diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java new file mode 100644 index 000000000..ef77e6eec --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ComparableEntity.java @@ -0,0 +1,53 @@ +/* + * Copyright 2020-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 org.springframework.data.couchbase.domain; + +import com.couchbase.mock.deps.com.google.gson.Gson; +import com.couchbase.mock.deps.com.google.gson.GsonBuilder; + +/** + * Comparable entity base class for tests + * + * @author Michael Reiche + */ +public class ComparableEntity { + + /** + * equals() method that relies on toString() + * + * @param that + * @return + * @throws RuntimeException + */ + @Override + public boolean equals(Object that) throws RuntimeException { + if (this == that) { + return true; + } + if (that == null + || !(this.getClass().isAssignableFrom(that.getClass()) || that.getClass().isAssignableFrom(this.getClass()))) { + return false; + } + return this.toString().equals(that.toString()); + + } + + public String toString() throws RuntimeException { + Gson gson = new GsonBuilder().create(); + return gson.toJson(this); + } +} diff --git a/src/test/java/org/springframework/data/couchbase/domain/Config.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Config.java similarity index 98% rename from src/test/java/org/springframework/data/couchbase/domain/Config.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Config.java index 0d9cbc04e..66b92459f 100644 --- a/src/test/java/org/springframework/data/couchbase/domain/Config.java +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Config.java @@ -238,15 +238,4 @@ public String typeKey() { return "t"; // this will override '_class', is passed in to new CustomMappingCouchbaseConverter } - static String scopeName = null; - - @Override - protected String getScopeName() { - return scopeName; - } - - public static void setScopeName(String scopeName) { - Config.scopeName = scopeName; - } - } diff --git a/src/test/java/org/springframework/data/couchbase/domain/ConfigScoped.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ConfigScoped.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ConfigScoped.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ConfigScoped.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Course.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Course.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Course.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Course.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/CustomMappingCouchbaseConverter.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/CustomMappingCouchbaseConverter.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/CustomMappingCouchbaseConverter.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/CustomMappingCouchbaseConverter.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/EBTurbulenceCategory.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EBTurbulenceCategory.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/EBTurbulenceCategory.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EBTurbulenceCategory.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/EITurbulenceCategory.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EITurbulenceCategory.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/EITurbulenceCategory.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EITurbulenceCategory.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/EJsonCreatorTurbulenceCategory.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EJsonCreatorTurbulenceCategory.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/EJsonCreatorTurbulenceCategory.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/EJsonCreatorTurbulenceCategory.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ETurbulenceCategory.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ETurbulenceCategory.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ETurbulenceCategory.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ETurbulenceCategory.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/FluxIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/FluxIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/FluxIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/FluxIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Iata.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Iata.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Iata.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Iata.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Library.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Library.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Library.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Library.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/LibraryRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/LibraryRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/LibraryRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/LibraryRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/MutableUser.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MutableUser.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/MutableUser.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MutableUser.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/MyPerson.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MyPerson.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/MyPerson.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MyPerson.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/MyPersonRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MyPersonRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/MyPersonRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/MyPersonRepository.java diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java new file mode 100644 index 000000000..5abc2aaec --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/NaiveAuditorAware.java @@ -0,0 +1,46 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain; + +import java.util.Optional; + +import org.springframework.data.domain.AuditorAware; + +// These are the classes that would be used for a real getCurrentAuditor() implementation +//import org.springframework.security.core.Authentication; +//import org.springframework.security.core.context.SecurityContextHolder; +//import org.springframework.security.core.userdetails.User; + +/** + * This class returns a string that represents the current user + * + * @author Michael Reiche + * @since 3.0 + */ +public class NaiveAuditorAware implements AuditorAware { + + static public final String AUDITOR = "nonreactive_auditor"; + private Optional auditor = Optional.of(AUDITOR); + + @Override + public Optional getCurrentAuditor() { + return auditor; + } + + public void setAuditor(String auditor) { + this.auditor = Optional.of(auditor); + } +} diff --git a/src/test/java/org/springframework/data/couchbase/domain/OtherUser.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/OtherUser.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/OtherUser.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/OtherUser.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Person.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Person.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Person.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Person.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonValue.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonValue.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonValue.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonValue.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonValueRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonValueRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonValueRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonValueRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability2.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability2.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability2.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithDurability2.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonWithMaps.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithMaps.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonWithMaps.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithMaps.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/PersonWithoutVersion.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithoutVersion.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/PersonWithoutVersion.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/PersonWithoutVersion.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirlineRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirlineRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveAirlineRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirlineRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportMustScopeRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportMustScopeRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportMustScopeRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportMustScopeRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepositoryAnnotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepositoryAnnotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepositoryAnnotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveAirportRepositoryAnnotated.java diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java new file mode 100644 index 000000000..c5e1888fe --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveNaiveAuditorAware.java @@ -0,0 +1,37 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain; + +import reactor.core.publisher.Mono; + +import org.springframework.data.domain.ReactiveAuditorAware; + +/** + * This class returns a string that represents the current user + * + * @author Jorge Rodríguez Martín + * @since 4.2 + */ +public class ReactiveNaiveAuditorAware implements ReactiveAuditorAware { + + public static final String AUDITOR = "reactive_auditor"; + + @Override + public Mono getCurrentAuditor() { + return Mono.just(AUDITOR); + } + +} diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactivePersonRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactivePersonRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactivePersonRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactivePersonRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserColRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserColRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveUserColRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserColRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/ReactiveUserRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/ReactiveUserRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/Submission.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Submission.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/Submission.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/Submission.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/SubscriptionToken.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/SubscriptionToken.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/SubscriptionToken.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/SubscriptionToken.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/SubscriptionTokenRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/SubscriptionTokenRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/SubscriptionTokenRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/SubscriptionTokenRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/TestEncrypted.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TestEncrypted.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/TestEncrypted.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TestEncrypted.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/TypeAwareTypeInformationMapper.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TypeAwareTypeInformationMapper.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/TypeAwareTypeInformationMapper.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TypeAwareTypeInformationMapper.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/TypeBasedCouchbaseTypeMapper.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TypeBasedCouchbaseTypeMapper.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/TypeBasedCouchbaseTypeMapper.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/TypeBasedCouchbaseTypeMapper.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/User.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/User.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/User.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/User.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated2.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated2.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotated2.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated2.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated3.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated3.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotated3.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotated3.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurability.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurability.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurability.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurability.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurabilityExpression.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurabilityExpression.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurabilityExpression.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedDurabilityExpression.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedPersistTo.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedPersistTo.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedPersistTo.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedPersistTo.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedReplicateTo.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedReplicateTo.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedReplicateTo.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedReplicateTo.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedTouchOnRead.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedTouchOnRead.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedTouchOnRead.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserAnnotatedTouchOnRead.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserCol.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserCol.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserCol.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserCol.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserColRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserColRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserColRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserColRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserEncrypted.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserEncrypted.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserEncrypted.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserEncrypted.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserEncryptedRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserEncryptedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserEncryptedRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserEncryptedRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserJustLastName.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserJustLastName.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserJustLastName.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserJustLastName.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserNoAlias.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserNoAlias.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserNoAlias.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserNoAlias.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmission.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmission.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmission.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmission.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotated.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotatedRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotatedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotatedRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionAnnotatedRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionProjected.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionProjected.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionProjected.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionProjected.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionRepository.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotated.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotated.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotated.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotated.java diff --git a/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotatedRepository.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotatedRepository.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotatedRepository.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/UserSubmissionUnannotatedRepository.java diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java new file mode 100644 index 000000000..e2eb28876 --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/AuditingDateTimeProvider.java @@ -0,0 +1,38 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain.time; + +import java.time.Instant; +import java.time.temporal.TemporalAccessor; +import java.util.Optional; + +import org.springframework.data.auditing.DateTimeProvider; + +public class AuditingDateTimeProvider implements DateTimeProvider { + + private DateTimeService dateTimeService = new FixedDateTimeService(); + + public AuditingDateTimeProvider() {} + + public AuditingDateTimeProvider(DateTimeService dateTimeService) { + this.dateTimeService = dateTimeService; + } + + @Override + public Optional getNow() { + return Optional.of(Instant.ofEpochSecond(dateTimeService.getCurrentDateAndTime().toEpochSecond())); + } +} diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java new file mode 100644 index 000000000..7d1c3ab72 --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/CurrentDateTimeService.java @@ -0,0 +1,25 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain.time; + +import java.time.ZonedDateTime; + +public class CurrentDateTimeService implements DateTimeService { + @Override + public ZonedDateTime getCurrentDateAndTime() { + return ZonedDateTime.now(); + } +} diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java new file mode 100644 index 000000000..158d02499 --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/DateTimeService.java @@ -0,0 +1,22 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain.time; + +import java.time.ZonedDateTime; + +public interface DateTimeService { + ZonedDateTime getCurrentDateAndTime(); +} diff --git a/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java new file mode 100644 index 000000000..fd600e9f5 --- /dev/null +++ b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/domain/time/FixedDateTimeService.java @@ -0,0 +1,30 @@ +/* + * Copyright 2012-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 org.springframework.data.couchbase.domain.time; + +import java.time.ZoneId; +import java.time.ZonedDateTime; + +public class FixedDateTimeService implements DateTimeService { + public static void main(String[] args) { + System.out.println((new FixedDateTimeService()).getCurrentDateAndTime()); + } + + @Override + public ZonedDateTime getCurrentDateAndTime() { + return ZonedDateTime.of(2020, 1, 1, 0, 0, 0, 0, ZoneId.of("GMT-8")); + } +} diff --git a/src/test/java/org/springframework/data/couchbase/repository/CouchbaseAbstractRepositoryIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseAbstractRepositoryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/CouchbaseAbstractRepositoryIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseAbstractRepositoryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryAutoQueryIndexIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryAutoQueryIndexIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryAutoQueryIndexIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryAutoQueryIndexIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryFieldLevelEncryptionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryFieldLevelEncryptionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryFieldLevelEncryptionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryFieldLevelEncryptionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryKeyValueIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryKeyValueIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryKeyValueIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryKeyValueIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryQueryIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryQueryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryQueryIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/CouchbaseRepositoryQueryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryKeyValueIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryKeyValueIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryKeyValueIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryKeyValueIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/ReactiveCouchbaseRepositoryQueryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQueryCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQueryCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQueryCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/CouchbaseRepositoryQueryCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/N1qlQueryCreatorTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQueryCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQueryCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQueryCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/ReactiveCouchbaseRepositoryQueryCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/AfterTransactionAssertion.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/AfterTransactionAssertion.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/AfterTransactionAssertion.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/AfterTransactionAssertion.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionReactiveIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionReactiveIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionReactiveIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbasePersonTransactionReactiveIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseReactiveTransactionNativeIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseReactiveTransactionNativeIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseReactiveTransactionNativeIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseReactiveTransactionNativeIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionNativeIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionNativeIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionNativeIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionNativeIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalNonAllowableOperationsIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalNonAllowableOperationsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalNonAllowableOperationsIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalNonAllowableOperationsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOperatorTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOperatorTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOperatorTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOperatorTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOptionsIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOptionsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOptionsIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalOptionsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalPropagationIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalPropagationIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalPropagationIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalPropagationIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalRepositoryIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionDefaultScopeIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionDefaultScopeIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionDefaultScopeIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionDefaultScopeIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateCollectionIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalUnsettableParametersIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalUnsettableParametersIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalUnsettableParametersIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/CouchbaseTransactionalUnsettableParametersIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/DirectPlatformTransactionManagerIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/DirectPlatformTransactionManagerIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/DirectPlatformTransactionManagerIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/DirectPlatformTransactionManagerIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/ObjectId.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ObjectId.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/ObjectId.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ObjectId.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/PersonService.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/PersonService.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/PersonService.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/PersonService.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/PersonServiceReactive.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/PersonServiceReactive.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/PersonServiceReactive.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/PersonServiceReactive.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/ReactiveTransactionalTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ReactiveTransactionalTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/ReactiveTransactionalTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ReactiveTransactionalTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/ReplaceLoopThread.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ReplaceLoopThread.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/ReplaceLoopThread.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/ReplaceLoopThread.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/TransactionTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/TransactionTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/TransactionTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/TransactionTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/TransactionsConfig.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/TransactionsConfig.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/TransactionsConfig.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/TransactionsConfig.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsNonAllowableOperationsIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsNonAllowableOperationsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsNonAllowableOperationsIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsNonAllowableOperationsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsPersonIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsPersonIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsPersonIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsPersonIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKReactiveTransactionsTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonAllowableOperationsIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonAllowableOperationsIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonAllowableOperationsIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonAllowableOperationsIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonBlockingThreadIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonBlockingThreadIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonBlockingThreadIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsNonBlockingThreadIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsSaveIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsSaveIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsSaveIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsSaveIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsTemplateIntegrationTests.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsTemplateIntegrationTests.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsTemplateIntegrationTests.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/sdk/SDKTransactionsTemplateIntegrationTests.java diff --git a/src/test/java/org/springframework/data/couchbase/transactions/util/TransactionTestUtil.java b/spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/util/TransactionTestUtil.java similarity index 100% rename from src/test/java/org/springframework/data/couchbase/transactions/util/TransactionTestUtil.java rename to spring-data-couchbase/src/test/java/org/springframework/data/couchbase/transactions/util/TransactionTestUtil.java diff --git a/src/test/resources/META-INF/beans.xml b/spring-data-couchbase/src/test/resources/META-INF/beans.xml similarity index 100% rename from src/test/resources/META-INF/beans.xml rename to spring-data-couchbase/src/test/resources/META-INF/beans.xml diff --git a/src/test/resources/configurations/couchbase-consistency.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-consistency.xml similarity index 100% rename from src/test/resources/configurations/couchbase-consistency.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-consistency.xml diff --git a/src/test/resources/configurations/couchbase-multi-bucket-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-multi-bucket-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbase-multi-bucket-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-multi-bucket-bean.xml diff --git a/src/test/resources/configurations/couchbase-repository-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-repository-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbase-repository-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-repository-bean.xml diff --git a/src/test/resources/configurations/couchbase-template-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-template-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbase-template-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-template-bean.xml diff --git a/src/test/resources/configurations/couchbase-template-with-translation-service-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-template-with-translation-service-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbase-template-with-translation-service-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-template-with-translation-service-bean.xml diff --git a/src/test/resources/configurations/couchbase-typekey.xml b/spring-data-couchbase/src/test/resources/configurations/couchbase-typekey.xml similarity index 100% rename from src/test/resources/configurations/couchbase-typekey.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbase-typekey.xml diff --git a/src/test/resources/configurations/couchbaseBucket-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbaseBucket-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbaseBucket-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbaseBucket-bean.xml diff --git a/src/test/resources/configurations/couchbaseCluster-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbaseCluster-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbaseCluster-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbaseCluster-bean.xml diff --git a/src/test/resources/configurations/couchbaseEnv-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbaseEnv-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbaseEnv-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbaseEnv-bean.xml diff --git a/src/test/resources/configurations/couchbaseSingleEnv-bean.xml b/spring-data-couchbase/src/test/resources/configurations/couchbaseSingleEnv-bean.xml similarity index 100% rename from src/test/resources/configurations/couchbaseSingleEnv-bean.xml rename to spring-data-couchbase/src/test/resources/configurations/couchbaseSingleEnv-bean.xml diff --git a/spring-data-couchbase/src/test/resources/integration.properties b/spring-data-couchbase/src/test/resources/integration.properties new file mode 100644 index 000000000..510356617 --- /dev/null +++ b/spring-data-couchbase/src/test/resources/integration.properties @@ -0,0 +1,19 @@ +# Couchbase Integration-Test Default Properties +# If set to false, it is assumed that the host is managing the cluster and +# as a result no containers or anything will be spun up. +# Options: containerized, mocked, unmanaged +cluster.type=mocked +# Default configs for both cases +# Default configs for the mocked environment +cluster.mocked.numNodes=1 +cluster.mocked.numReplicas=1 +# Entry point configuration if not managed +# value of hostname and ns_server port +cluster.unmanaged.seed=127.0.0.1:8091 +cluster.adminUsername=Administrator +cluster.adminPassword=password +#cluster.bucket=my_bucket +#cluster.unmanaged.seed=cb.zsibzkbgllfbcj8g.cloud.couchbase.com +#cluster.adminUsername=user +#cluster.adminPassword=Couch0base! +cluster.unmanaged.numReplicas=0 diff --git a/src/test/resources/logback.xml b/spring-data-couchbase/src/test/resources/logback.xml similarity index 100% rename from src/test/resources/logback.xml rename to spring-data-couchbase/src/test/resources/logback.xml diff --git a/src/test/resources/server.properties b/spring-data-couchbase/src/test/resources/server.properties similarity index 100% rename from src/test/resources/server.properties rename to spring-data-couchbase/src/test/resources/server.properties diff --git a/spring-data-couchbase/template.mf b/spring-data-couchbase/template.mf new file mode 100644 index 000000000..5e195fedf --- /dev/null +++ b/spring-data-couchbase/template.mf @@ -0,0 +1,20 @@ +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.springframework.data.couchbase +Bundle-Name: ${project.name} +Bundle-Vendor: Couchbase Inc., Pivotal Software Inc. +Bundle-Version: ${project.version} +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Template: + org.springframework.data.couchbase.*;version="${project.version}" +Import-Template: + com.couchbase.client.*;version="${couchbase.osgi:[=.=.=,+1.0.0)}", + com.fasterxml.jackson.*;version="${jackson:[=.=.=,+1.0.0)}", + javax.enterprise.*;version="${cdi:[=.=.=,+1.0.0)}";resolution:=optional, + javax.validation.*;version="${validation:[=.=.=.=,+1.0.0)}";resolution:=optional, + org.aopalliance.*;version="[1.0.0, 2.0.0)";resolution:=optional, + org.joda.time.*;version="${jodatime:[=.=.=,+1.0.0)}";resolution:=optional, + org.slf4j.*;version="${slf4j:[=.=.=,+1.0.0)}", + org.springframework.*;version="${spring:[=.=.=.=,+1.0.0)}", + org.springframework.data.*;version="${springdata.commons:[=.=.=.=,+1.0.0)}", + org.w3c.*;version="0.0.0", +