From cb912b8b9566a0feddec75b5cdcc70c01b263fad Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Wed, 19 Apr 2017 16:51:47 +0200 Subject: [PATCH] DATACOUCH-299 - Roll back to Java driver version 2.2.8. This reverts commit 4983dfc7b2c95f5533831d17c97dea2acb566513. Related tickets: DATACOUCH-290. --- pom.xml | 4 +- pom.xml.orig | 176 +++++++ .../index/IndexedRepositoryTestListener.java | 10 +- .../index/IndexedRepositoryTests.java | 13 +- .../CouchbaseEnvironmentFactoryBean.java | 166 ++++-- .../CouchbaseEnvironmentNoShutdownProxy.java | 96 +--- .../config/CouchbaseEnvironmentParser.java | 9 +- .../repository/support/IndexManager.java | 13 +- src/main/resources/changelog.txt.orig | 477 ++++++++++++++++++ .../config/spring-couchbase-env-2.0.xsd | 1 - .../CouchbaseEnvironmentParserTest.java | 5 +- .../configurations/couchbaseEnv-bean.xml | 3 +- 12 files changed, 800 insertions(+), 173 deletions(-) create mode 100644 pom.xml.orig create mode 100644 src/main/resources/changelog.txt.orig diff --git a/pom.xml b/pom.xml index 8210769d..40f38dff 100644 --- a/pom.xml +++ b/pom.xml @@ -21,8 +21,8 @@ DATACOUCH - 2.4.4 - 2.4.4 + 2.2.8 + 2.2.8 1.12.10.BUILD-SNAPSHOT 1.0.0.GA diff --git a/pom.xml.orig b/pom.xml.orig new file mode 100644 index 00000000..90f11c2a --- /dev/null +++ b/pom.xml.orig @@ -0,0 +1,176 @@ + + + + 4.0.0 + + org.springframework.data + spring-data-couchbase + 2.1.10.BUILD-SNAPSHOT + + Spring Data Couchbase + Spring Data integration for Couchbase + https://github.com/SpringSource/spring-data-couchbase + + + org.springframework.data.build + spring-data-parent + 1.8.10.BUILD-SNAPSHOT + + + + + DATACOUCH + +<<<<<<< HEAD + 2.4.4 + 2.4.4 + 1.12.10.BUILD-SNAPSHOT +======= + 2.2.8 + 2.2.8 + 1.12.9.BUILD-SNAPSHOT +>>>>>>> DATACOUCH-299 - Roll back to Java driver version 2.2.8. + 1.0.0.GA + + + + + + org.springframework + spring-context + + + org.springframework + spring-web + + + org.springframework + spring-tx + + + + ${project.groupId} + spring-data-commons + ${springdata.commons} + + + + com.couchbase.client + java-client + ${couchbase} + + + + org.springframework + spring-test + ${spring} + test + + + + org.hibernate + hibernate-validator + 4.2.0.Final + test + + + + org.apache.httpcomponents + httpclient + 4.3.3 + test + + + + com.fasterxml.jackson.core + jackson-databind + ${jackson} + + + + joda-time + joda-time + ${jodatime} + true + + + + + javax.validation + validation-api + ${validation} + true + + + + + javax.enterprise + cdi-api + ${cdi} + provided + true + + + + org.apache.openwebbeans.test + cditest-owb + ${webbeans} + test + + + + javax.servlet + servlet-api + 3.0-alpha-1 + test + + + + + + + spring-libs-snapshot + https://repo.spring.io/libs-snapshot + + + + + + spring-plugins-release + https://repo.spring.io/plugins-release + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + org.codehaus.mojo + wagon-maven-plugin + + + org.asciidoctor + asciidoctor-maven-plugin + + + + + + + release + + + + org.jfrog.buildinfo + artifactory-maven-plugin + false + + + + + + + diff --git a/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTestListener.java b/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTestListener.java index 50489cbe..9fe208d9 100644 --- a/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTestListener.java +++ b/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTestListener.java @@ -1,7 +1,6 @@ package org.springframework.data.couchbase.repository.index; import com.couchbase.client.java.Bucket; -import com.couchbase.client.java.error.DesignDocumentDoesNotExistException; import com.couchbase.client.java.query.Index; import com.couchbase.client.java.query.N1qlQuery; @@ -13,19 +12,14 @@ import org.springframework.test.context.support.DependencyInjectionTestExecution * A test listener that will remove the indexes created in {@link IndexedRepositoryTests} before test case is run. * * @author Simon Baslé - * @author Subhashni Balakrishnan */ public class IndexedRepositoryTestListener extends DependencyInjectionTestExecutionListener { @Override public void beforeTestClass(final TestContext testContext) throws Exception { Bucket client = (Bucket) testContext.getApplicationContext().getBean(BeanNames.COUCHBASE_BUCKET); - try { - client.bucketManager().removeDesignDocument(IndexedRepositoryTests.VIEW_DOC); - client.bucketManager().removeDesignDocument("foo"); - } catch (DesignDocumentDoesNotExistException ex) { - //ignore - } + client.bucketManager().removeDesignDocument(IndexedRepositoryTests.VIEW_DOC); + client.bucketManager().removeDesignDocument("foo"); client.query(N1qlQuery.simple(Index.dropPrimaryIndex(client.name()))); client.query(N1qlQuery.simple(Index.dropIndex(client.name(), IndexedRepositoryTests.SECONDARY))); } diff --git a/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTests.java b/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTests.java index 9dd3c66f..99fcc432 100644 --- a/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTests.java +++ b/src/integration/java/org/springframework/data/couchbase/repository/index/IndexedRepositoryTests.java @@ -20,7 +20,6 @@ import static org.junit.Assert.*; import java.util.Arrays; -import com.couchbase.client.java.error.DesignDocumentDoesNotExistException; import com.couchbase.client.java.query.N1qlQuery; import com.couchbase.client.java.query.N1qlQueryResult; import com.couchbase.client.java.view.DesignDocument; @@ -137,15 +136,9 @@ public class IndexedRepositoryTests { public void shouldNotFindViewIndexWithIgnoringIndexManager() { AnotherIndexedUserRepository repository = ignoringIndexFactory.getRepository(AnotherIndexedUserRepository.class); - DesignDocument designDoc = null; - - try { - designDoc = template.getCouchbaseBucket() - .bucketManager() - .getDesignDocument(VIEW_DOC); - } catch (DesignDocumentDoesNotExistException ex) { - //ignore - } + DesignDocument designDoc = template.getCouchbaseBucket() + .bucketManager() + .getDesignDocument(VIEW_DOC); if (designDoc != null) { for (View view : designDoc.views()) { diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java index 347d39b7..d47ae8b3 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors + * Copyright 2012-2015 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. @@ -21,7 +21,6 @@ import com.couchbase.client.core.retry.FailFastRetryStrategy; import com.couchbase.client.core.retry.RetryStrategy; import com.couchbase.client.java.env.CouchbaseEnvironment; import com.couchbase.client.java.env.DefaultCouchbaseEnvironment; -import com.couchbase.client.java.env.DefaultCouchbaseEnvironment.Builder; import org.springframework.beans.factory.config.AbstractFactoryBean; @@ -29,15 +28,47 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; * Factory Bean to help create a CouchbaseEnvironment (by offering setters for supported tuning methods). * * @author Simon Baslé - * @author Simon Bland - * @author Subhashni Balakrishnan */ /*package*/ class CouchbaseEnvironmentFactoryBean extends AbstractFactoryBean { + private static final CouchbaseEnvironment DEFAULT_ENV = DefaultCouchbaseEnvironment.create(); public static final String RETRYSTRATEGY_FAILFAST = "FailFast"; public static final String RETRYSTRATEGY_BESTEFFORT = "BestEffort"; - private final Builder couchbaseEnvBuilder = DefaultCouchbaseEnvironment.builder(); + private long managementTimeout = DEFAULT_ENV.managementTimeout(); + private long queryTimeout = DEFAULT_ENV.queryTimeout(); + private long viewTimeout = DEFAULT_ENV.viewTimeout(); + private long kvTimeout = DEFAULT_ENV.kvTimeout(); + private long connectTimeout = DEFAULT_ENV.connectTimeout(); + private long disconnectTimeout = DEFAULT_ENV.disconnectTimeout(); + private boolean dnsSrvEnabled = DEFAULT_ENV.dnsSrvEnabled(); + + private boolean dcpEnabled = DEFAULT_ENV.dcpEnabled(); + private boolean sslEnabled = DEFAULT_ENV.sslEnabled(); + private String sslKeystoreFile = DEFAULT_ENV.sslKeystoreFile(); + private String sslKeystorePassword = DEFAULT_ENV.sslKeystorePassword(); + private boolean queryEnabled = DEFAULT_ENV.queryEnabled(); + private int queryPort = DEFAULT_ENV.queryPort(); + private boolean bootstrapHttpEnabled = DEFAULT_ENV.bootstrapHttpEnabled(); + private boolean bootstrapCarrierEnabled = DEFAULT_ENV.bootstrapCarrierEnabled(); + private int bootstrapHttpDirectPort = DEFAULT_ENV.bootstrapHttpDirectPort(); + private int bootstrapHttpSslPort = DEFAULT_ENV.bootstrapHttpSslPort(); + private int bootstrapCarrierDirectPort = DEFAULT_ENV.bootstrapCarrierDirectPort(); + private int bootstrapCarrierSslPort = DEFAULT_ENV.bootstrapCarrierSslPort(); + private int ioPoolSize = DEFAULT_ENV.ioPoolSize(); + private int computationPoolSize = DEFAULT_ENV.computationPoolSize(); + private int responseBufferSize = DEFAULT_ENV.responseBufferSize(); + private int requestBufferSize = DEFAULT_ENV.requestBufferSize(); + private int kvEndpoints = DEFAULT_ENV.kvEndpoints(); + private int viewEndpoints = DEFAULT_ENV.viewEndpoints(); + private int queryEndpoints = DEFAULT_ENV.queryEndpoints(); + private RetryStrategy retryStrategy = DEFAULT_ENV.retryStrategy(); + private long maxRequestLifetime = DEFAULT_ENV.maxRequestLifetime(); + private long keepAliveInterval = DEFAULT_ENV.keepAliveInterval(); + private long autoreleaseAfter = DEFAULT_ENV.autoreleaseAfter(); + private boolean bufferPoolingEnabled = DEFAULT_ENV.bufferPoolingEnabled(); + private boolean tcpNodelayEnabled = DEFAULT_ENV.tcpNodelayEnabled(); + private boolean mutationTokensEnabled = DEFAULT_ENV.mutationTokensEnabled(); /* These are tunings that are not practical to be exposed in a xml configuration @@ -52,17 +83,6 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; eventBus systemMetricsCollectorConfig networkLatencyMetricsCollectorConfig - requestBufferWaitStrategy - sslKeystore - memcachedHashingStrategy - kvIoPool - queryIoPool - searchIoPool - viewIoPool - kvServiceConfig - queryServiceConfig - searchServiceConfig - viewServiceConfig */ @Override @@ -72,7 +92,41 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; @Override protected CouchbaseEnvironment createInstance() throws Exception { - return couchbaseEnvBuilder.build(); + return DefaultCouchbaseEnvironment.builder() + .managementTimeout(managementTimeout) + .queryTimeout(queryTimeout) + .viewTimeout(viewTimeout) + .kvTimeout(kvTimeout) + .connectTimeout(connectTimeout) + .disconnectTimeout(disconnectTimeout) + .dnsSrvEnabled(dnsSrvEnabled) + .dcpEnabled(dcpEnabled) + .sslEnabled(sslEnabled) + .sslKeystoreFile(sslKeystoreFile) + .sslKeystorePassword(sslKeystorePassword) + .queryEnabled(queryEnabled) + .queryPort(queryPort) + .bootstrapHttpEnabled(bootstrapHttpEnabled) + .bootstrapCarrierEnabled(bootstrapCarrierEnabled) + .bootstrapHttpDirectPort(bootstrapHttpDirectPort) + .bootstrapHttpSslPort(bootstrapHttpSslPort) + .bootstrapCarrierDirectPort(bootstrapCarrierDirectPort) + .bootstrapCarrierSslPort(bootstrapCarrierSslPort) + .ioPoolSize(ioPoolSize) + .computationPoolSize(computationPoolSize) + .responseBufferSize(responseBufferSize) + .requestBufferSize(requestBufferSize) + .kvEndpoints(kvEndpoints) + .viewEndpoints(viewEndpoints) + .queryEndpoints(queryEndpoints) + .retryStrategy(retryStrategy) + .maxRequestLifetime(maxRequestLifetime) + .keepAliveInterval(keepAliveInterval) + .autoreleaseAfter(autoreleaseAfter) + .bufferPoolingEnabled(bufferPoolingEnabled) + .tcpNodelayEnabled(tcpNodelayEnabled) + .mutationTokensEnabled(mutationTokensEnabled) + .build(); } /** @@ -83,135 +137,139 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; */ public void setRetryStrategy(String retryStrategy) { if (RETRYSTRATEGY_FAILFAST.equals(retryStrategy)) { - this.couchbaseEnvBuilder.retryStrategy(FailFastRetryStrategy.INSTANCE); + this.retryStrategy = FailFastRetryStrategy.INSTANCE; } else if (RETRYSTRATEGY_BESTEFFORT.equals(retryStrategy)) { - this.couchbaseEnvBuilder.retryStrategy(BestEffortRetryStrategy.INSTANCE); + this.retryStrategy = BestEffortRetryStrategy.INSTANCE; } } //==== SETTERS for the factory bean ==== public void setManagementTimeout(long managementTimeout) { - this.couchbaseEnvBuilder.managementTimeout(managementTimeout); + this.managementTimeout = managementTimeout; } public void setQueryTimeout(long queryTimeout) { - this.couchbaseEnvBuilder.queryTimeout(queryTimeout); + this.queryTimeout = queryTimeout; } public void setViewTimeout(long viewTimeout) { - this.couchbaseEnvBuilder.viewTimeout(viewTimeout); + this.viewTimeout = viewTimeout; } public void setKvTimeout(long kvTimeout) { - this.couchbaseEnvBuilder.kvTimeout(kvTimeout); + this.kvTimeout = kvTimeout; } public void setConnectTimeout(long connectTimeout) { - this.couchbaseEnvBuilder.connectTimeout(connectTimeout); + this.connectTimeout = connectTimeout; } public void setDisconnectTimeout(long disconnectTimeout) { - this.couchbaseEnvBuilder.disconnectTimeout(disconnectTimeout); + this.disconnectTimeout = disconnectTimeout; } public void setDnsSrvEnabled(boolean dnsSrvEnabled) { - this.couchbaseEnvBuilder.dnsSrvEnabled(dnsSrvEnabled); + this.dnsSrvEnabled = dnsSrvEnabled; } public void setDcpEnabled(boolean dcpEnabled) { - this.couchbaseEnvBuilder.dcpEnabled(dcpEnabled); + this.dcpEnabled = dcpEnabled; } public void setSslEnabled(boolean sslEnabled) { - this.couchbaseEnvBuilder.sslEnabled(sslEnabled); + this.sslEnabled = sslEnabled; } public void setSslKeystoreFile(String sslKeystoreFile) { - this.couchbaseEnvBuilder.sslKeystoreFile(sslKeystoreFile); + this.sslKeystoreFile = sslKeystoreFile; } public void setSslKeystorePassword(String sslKeystorePassword) { - this.couchbaseEnvBuilder.sslKeystorePassword(sslKeystorePassword); + this.sslKeystorePassword = sslKeystorePassword; + } + + public void setQueryEnabled(boolean queryEnabled) { + this.queryEnabled = queryEnabled; + } + + public void setQueryPort(int queryPort) { + this.queryPort = queryPort; } public void setBootstrapHttpEnabled(boolean bootstrapHttpEnabled) { - this.couchbaseEnvBuilder.bootstrapHttpEnabled(bootstrapHttpEnabled); + this.bootstrapHttpEnabled = bootstrapHttpEnabled; } public void setBootstrapCarrierEnabled(boolean bootstrapCarrierEnabled) { - this.couchbaseEnvBuilder.bootstrapCarrierEnabled(bootstrapCarrierEnabled); + this.bootstrapCarrierEnabled = bootstrapCarrierEnabled; } public void setBootstrapHttpDirectPort(int bootstrapHttpDirectPort) { - this.couchbaseEnvBuilder.bootstrapHttpDirectPort(bootstrapHttpDirectPort); + this.bootstrapHttpDirectPort = bootstrapHttpDirectPort; } public void setBootstrapHttpSslPort(int bootstrapHttpSslPort) { - this.couchbaseEnvBuilder.bootstrapHttpSslPort(bootstrapHttpSslPort); + this.bootstrapHttpSslPort = bootstrapHttpSslPort; } public void setBootstrapCarrierDirectPort(int bootstrapCarrierDirectPort) { - this.couchbaseEnvBuilder.bootstrapCarrierDirectPort(bootstrapCarrierDirectPort); + this.bootstrapCarrierDirectPort = bootstrapCarrierDirectPort; } public void setBootstrapCarrierSslPort(int bootstrapCarrierSslPort) { - this.couchbaseEnvBuilder.bootstrapCarrierSslPort(bootstrapCarrierSslPort); + this.bootstrapCarrierSslPort = bootstrapCarrierSslPort; } public void setIoPoolSize(int ioPoolSize) { - this.couchbaseEnvBuilder.ioPoolSize(ioPoolSize); + this.ioPoolSize = ioPoolSize; } public void setComputationPoolSize(int computationPoolSize) { - this.couchbaseEnvBuilder.computationPoolSize(computationPoolSize); + this.computationPoolSize = computationPoolSize; } public void setResponseBufferSize(int responseBufferSize) { - this.couchbaseEnvBuilder.responseBufferSize(responseBufferSize); + this.responseBufferSize = responseBufferSize; } public void setRequestBufferSize(int requestBufferSize) { - this.couchbaseEnvBuilder.requestBufferSize(requestBufferSize); + this.requestBufferSize = requestBufferSize; } public void setKvEndpoints(int kvEndpoints) { - this.couchbaseEnvBuilder.kvEndpoints(kvEndpoints); + this.kvEndpoints = kvEndpoints; } public void setViewEndpoints(int viewEndpoints) { - this.couchbaseEnvBuilder.viewEndpoints(viewEndpoints); + this.viewEndpoints = viewEndpoints; } public void setQueryEndpoints(int queryEndpoints) { - this.couchbaseEnvBuilder.queryEndpoints(queryEndpoints); + this.queryEndpoints = queryEndpoints; } public void setMaxRequestLifetime(long maxRequestLifetime) { - this.couchbaseEnvBuilder.maxRequestLifetime(maxRequestLifetime); + this.maxRequestLifetime = maxRequestLifetime; } public void setKeepAliveInterval(long keepAliveInterval) { - this.couchbaseEnvBuilder.keepAliveInterval(keepAliveInterval); + this.keepAliveInterval = keepAliveInterval; } public void setAutoreleaseAfter(long autoreleaseAfter) { - this.couchbaseEnvBuilder.autoreleaseAfter(autoreleaseAfter); + this.autoreleaseAfter = autoreleaseAfter; } public void setBufferPoolingEnabled(boolean bufferPoolingEnabled) { - this.couchbaseEnvBuilder.bufferPoolingEnabled(bufferPoolingEnabled); + this.bufferPoolingEnabled = bufferPoolingEnabled; } public void setTcpNodelayEnabled(boolean tcpNodelayEnabled) { - this.couchbaseEnvBuilder.tcpNodelayEnabled(tcpNodelayEnabled); + this.tcpNodelayEnabled = tcpNodelayEnabled; } public void setMutationTokensEnabled(boolean mutationTokensEnabled) { - this.couchbaseEnvBuilder.mutationTokensEnabled(mutationTokensEnabled); + this.mutationTokensEnabled = mutationTokensEnabled; } - - public void setAnalyticsTimeout(long analyticsTimeout) { - this.couchbaseEnvBuilder.analyticsTimeout(analyticsTimeout); - } -} \ No newline at end of file +} diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentNoShutdownProxy.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentNoShutdownProxy.java index 3caa2c0f..c5a18482 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentNoShutdownProxy.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentNoShutdownProxy.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors + * Copyright 2012-2016 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. @@ -16,14 +16,9 @@ package org.springframework.data.couchbase.config; -import java.security.KeyStore; -import java.util.concurrent.TimeUnit; - -import com.couchbase.client.core.env.*; import com.couchbase.client.core.event.EventBus; import com.couchbase.client.core.metrics.MetricsCollector; import com.couchbase.client.core.metrics.NetworkLatencyMetricsCollector; -import com.couchbase.client.core.node.MemcachedHashingStrategy; import com.couchbase.client.core.retry.RetryStrategy; import com.couchbase.client.core.time.Delay; import com.couchbase.client.deps.io.netty.channel.EventLoopGroup; @@ -37,7 +32,6 @@ import rx.Scheduler; * * @author Simon Baslé * @author Jonathan Edwards - * @author Subhashni Balakrishnan */ public class CouchbaseEnvironmentNoShutdownProxy implements CouchbaseEnvironment { @@ -48,8 +42,8 @@ public class CouchbaseEnvironmentNoShutdownProxy implements CouchbaseEnvironment } @Override - public boolean shutdown() { - return false; + public Observable shutdown() { + return Observable.just(false); } //===== DELEGATION METHODS ===== @@ -89,6 +83,18 @@ public class CouchbaseEnvironmentNoShutdownProxy implements CouchbaseEnvironment return delegate.sslKeystorePassword(); } + @Override + @Deprecated + public boolean queryEnabled() { + return delegate.queryEnabled(); + } + + @Override + @Deprecated + public int queryPort() { + return delegate.queryPort(); + } + @Override public boolean bootstrapHttpEnabled() { return delegate.bootstrapHttpEnabled(); @@ -318,74 +324,4 @@ public class CouchbaseEnvironmentNoShutdownProxy implements CouchbaseEnvironment public long searchTimeout() { return delegate.searchTimeout(); } - - @Override - public WaitStrategyFactory requestBufferWaitStrategy() { - return delegate.requestBufferWaitStrategy(); - } - - @Override - public EventLoopGroup kvIoPool() { - return delegate.kvIoPool(); - } - - @Override - public EventLoopGroup viewIoPool() { - return delegate.viewIoPool(); - } - - @Override - public EventLoopGroup searchIoPool() { - return delegate.searchIoPool(); - } - - @Override - public EventLoopGroup queryIoPool() { - return delegate.queryIoPool(); - } - - @Override - public KeyStore sslKeystore() { - return delegate.sslKeystore(); - } - - @Override - public boolean shutdown(long timeout, TimeUnit timeUnit) { - return delegate.shutdown(timeout, timeUnit); - } - - @Override - public MemcachedHashingStrategy memcachedHashingStrategy() { - return delegate.memcachedHashingStrategy(); - } - - @Override - public long analyticsTimeout() { - return delegate.analyticsTimeout(); - } - - @Override - public long configPollInterval() { - return delegate.configPollInterval(); - } - - @Override - public KeyValueServiceConfig kvServiceConfig() { - return delegate.kvServiceConfig(); - } - - @Override - public QueryServiceConfig queryServiceConfig() { - return delegate.queryServiceConfig(); - } - - @Override - public SearchServiceConfig searchServiceConfig() { - return delegate.searchServiceConfig(); - } - - @Override - public ViewServiceConfig viewServiceConfig() { - return delegate.viewServiceConfig(); - } -} \ No newline at end of file +} diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java index 37b0f1a2..61caa967 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors + * Copyright 2012-2015 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. @@ -44,6 +44,8 @@ import org.springframework.util.StringUtils; *
  • {@link DefaultCouchbaseEnvironment.Builder#sslEnabled(boolean) sslEnabled}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#sslKeystoreFile(String) sslKeystoreFile}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#sslKeystorePassword(String) sslKeystorePassword}
  • + *
  • {@link DefaultCouchbaseEnvironment.Builder#queryEnabled(boolean) queryEnabled}
  • + *
  • {@link DefaultCouchbaseEnvironment.Builder#queryPort(int) queryPort}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#bootstrapHttpEnabled(boolean) bootstrapHttpEnabled}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#bootstrapCarrierEnabled(boolean) bootstrapCarrierEnabled}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#bootstrapHttpDirectPort(int) bootstrapHttpDirectPort}
  • @@ -64,11 +66,9 @@ import org.springframework.util.StringUtils; *
  • {@link DefaultCouchbaseEnvironment.Builder#bufferPoolingEnabled(boolean) bufferPoolingEnabled}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#tcpNodelayEnabled(boolean) tcpNodelayEnabled}
  • *
  • {@link DefaultCouchbaseEnvironment.Builder#mutationTokensEnabled(boolean) mutationTokensEnabled}
  • - *
  • {@link DefaultCouchbaseEnvironment.Builder#analyticsTimeout(long) analyticsTimeout}
  • * * * @author Simon Baslé - * @author Subhashni Balakrishnan */ public class CouchbaseEnvironmentParser extends AbstractSingleBeanDefinitionParser { @@ -117,6 +117,8 @@ public class CouchbaseEnvironmentParser extends AbstractSingleBeanDefinitionPars setPropertyValue(envDefinitionBuilder, envElement, "sslEnabled", "sslEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "sslKeystoreFile", "sslKeystoreFile"); setPropertyValue(envDefinitionBuilder, envElement, "sslKeystorePassword", "sslKeystorePassword"); + setPropertyValue(envDefinitionBuilder, envElement, "queryEnabled", "queryEnabled"); + setPropertyValue(envDefinitionBuilder, envElement, "queryPort", "queryPort"); setPropertyValue(envDefinitionBuilder, envElement, "bootstrapHttpEnabled", "bootstrapHttpEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "bootstrapCarrierEnabled", "bootstrapCarrierEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "bootstrapHttpDirectPort", "bootstrapHttpDirectPort"); @@ -136,7 +138,6 @@ public class CouchbaseEnvironmentParser extends AbstractSingleBeanDefinitionPars setPropertyValue(envDefinitionBuilder, envElement, "bufferPoolingEnabled", "bufferPoolingEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "tcpNodelayEnabled", "tcpNodelayEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "mutationTokensEnabled", "mutationTokensEnabled"); - setPropertyValue(envDefinitionBuilder, envElement, "analyticsTimeout", "analyticsTimeout"); //retry strategy is particular, in the xsd this is an enum (FailFast, BestEffort) setPropertyValue(envDefinitionBuilder, envElement, "retryStrategy", "retryStrategy"); diff --git a/src/main/java/org/springframework/data/couchbase/repository/support/IndexManager.java b/src/main/java/org/springframework/data/couchbase/repository/support/IndexManager.java index 62f0fd17..5619817b 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/support/IndexManager.java +++ b/src/main/java/org/springframework/data/couchbase/repository/support/IndexManager.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors + * Copyright 2012-2015 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. @@ -23,7 +23,6 @@ import java.util.Collections; import com.couchbase.client.java.bucket.BucketManager; import com.couchbase.client.java.document.json.JsonObject; -import com.couchbase.client.java.error.DesignDocumentDoesNotExistException; import com.couchbase.client.java.query.AsyncN1qlQueryResult; import com.couchbase.client.java.query.Index; import com.couchbase.client.java.query.Statement; @@ -52,7 +51,6 @@ import org.springframework.data.repository.core.RepositoryInformation; * Index creation will be attempted in parallel using the asynchronous APIs, but the overall process is still blocking. * * @author Simon Baslé - * @author Subhashni Balakrishnan */ public class IndexManager { @@ -243,14 +241,7 @@ public class IndexManager { } com.couchbase.client.java.view.View view = DefaultView.create(viewName, mapFunction, reduceFunction); - DesignDocument doc = null; - - try { - doc = manager.getDesignDocument(config.designDoc()); - } catch (DesignDocumentDoesNotExistException ex) { - //Ignore - } - + DesignDocument doc = manager.getDesignDocument(config.designDoc()); if (doc != null) { for (com.couchbase.client.java.view.View existingView : doc.views()) { if (existingView.name().equals(viewName)) { diff --git a/src/main/resources/changelog.txt.orig b/src/main/resources/changelog.txt.orig new file mode 100644 index 00000000..27e15839 --- /dev/null +++ b/src/main/resources/changelog.txt.orig @@ -0,0 +1,477 @@ +Spring Data Couchbase Changelog +=============================== + +<<<<<<< HEAD +Changes in version 2.1.8.RELEASE (2017-03-02) +--------------------------------------------- +* DATACOUCH-274 - Remove references to single-argument assertion methods of Spring. +* DATACOUCH-271 - Release 2.1.8 (Hopper SR8). +======= +Changes in version 3.0.0.M2 (2017-04-04) +---------------------------------------- +* DATACOUCH-289 - Adapt to API changes in RepositoryConfigurationExtensionSupport. +* DATACOUCH-278 - Table reference incorrect in repository doc. +* DATACOUCH-274 - Remove references to single-argument assertion methods of Spring. +* DATACOUCH-273 - Integrate Data Commons Java 8 upgrade branch. +* DATACOUCH-270 - Update project documentation with the CLA tool integration. +* DATACOUCH-265 - SpEL expressions for 'Pageable' and 'Sort'. +* DATACOUCH-262 - Adapt API in RepositoryFactoryBeanSupport implementation. +* DATACOUCH-261 - Register repository factory in spring.factories for multi-store support. +* DATACOUCH-259 - Release 3.0 M2 (Kay). +* DATACOUCH-251 - Keyword "Or" not working properly. +* DATACOUCH-246 - Add support for projections on repository query methods. +* DATACOUCH-146 - Add experimental Reactive support. +>>>>>>> 7ba9b3c... DATACOUCH-259 - Updated changelog. + + +Changes in version 2.2.1.RELEASE (2017-03-02) +--------------------------------------------- +* DATACOUCH-278 - Table reference incorrect in repository doc. +* DATACOUCH-274 - Remove references to single-argument assertion methods of Spring. +* DATACOUCH-272 - Release 2.2.1 (Ingalls SR1). +* DATACOUCH-265 - SpEL expressions for 'Pageable' and 'Sort'. + + +Changes in version 2.1.7.RELEASE (2017-01-26) +--------------------------------------------- +* DATACOUCH-266 - Release 2.1.7 (Hopper SR7). + + +Changes in version 2.2.0.RELEASE (2017-01-26) +--------------------------------------------- +* DATACOUCH-270 - Update project documentation with the CLA tool integration. +* DATACOUCH-267 - Release 2.2 GA (Ingalls). + + +Changes in version 2.1.6.RELEASE (2016-12-21) +--------------------------------------------- +* DATACOUCH-254 - Release 2.1.6 (Hopper SR6). +* DATACOUCH-251 - Keyword "Or" not working properly. +* DATACOUCH-237 - Query method with pagination + sort creates invalid count statement. + + +Changes in version 2.2.0.RC1 (2016-12-21) +----------------------------------------- +* DATACOUCH-262 - Adapt API in RepositoryFactoryBeanSupport implementation. +* DATACOUCH-261 - Register repository factory in spring.factories for multi-store support. +* DATACOUCH-251 - Keyword "Or" not working properly. +* DATACOUCH-246 - Add support for projections on repository query methods. +* DATACOUCH-243 - CouchbaseTemplate.doRemove() should handle exceptions as the same way with doPersist(). +* DATACOUCH-241 - Document mixing SpEL and N1QL placeholders. +* DATACOUCH-239 - Allow configurable expiry in @Document. +* DATACOUCH-238 - Release 2.2 RC1 (Ingalls). +* DATACOUCH-237 - Query method with pagination + sort creates invalid count statement. +* DATACOUCH-235 - WARNING: More than 1 Couchbase Environments found (2) with . + + +Changes in version 3.0.0.M1 (2016-11-23) +---------------------------------------- +* DATACOUCH-256 - Set up 3.0 development. +* DATACOUCH-255 - Release 3.0 M1 (Kay). + + +Changes in version 2.1.5.RELEASE (2016-11-03) +--------------------------------------------- +* DATACOUCH-253 - Release 2.1.5 (Hopper SR5). + + +Changes in version 2.1.4.RELEASE (2016-09-29) +--------------------------------------------- +* DATACOUCH-249 - Release 2.1.4 (Hopper SR4). + + +Changes in version 1.4.6.RELEASE (2016-09-29) +--------------------------------------------- +* DATACOUCH-252 - Release 1.4.6 (Gosling SR6). + + +Changes in version 1.4.5.RELEASE (2016-09-20) +--------------------------------------------- +* DATACOUCH-248 - Ignore tests not running on AWS to security restrictions. +* DATACOUCH-247 - Release 1.4.5 (Gosling SR5). + + +Changes in version 2.1.3.RELEASE (2016-09-20) +--------------------------------------------- +* DATACOUCH-236 - Release 2.1.3 (Hopper SR3). + + +Changes in version 2.2.0.M1 (2016-07-27) +---------------------------------------- +* DATACOUCH-231 - Bump SDK to 2.2.7 for Hopper SR2, Ingals. +* DATACOUCH-229 - Some N1QL/index error messages checked by DATACOUCH are changing in Couchbase Server 4.5. +* DATACOUCH-228 - findByView could be made more performant by using async API internally. +* DATACOUCH-227 - findByView won't use retainOrder parameter if RawJsonDocument target is not used. +* DATACOUCH-226 - Add Strict @Field Validation in MappingCouchbaseConverter. +* DATACOUCH-225 - spring-data-couchbase 2.x series incompatible with Couchbase SDK > 2.2.3. +* DATACOUCH-224 - Improve concurrent save/insert optimistic locking. +* DATACOUCH-221 - Release 2.2 M1 (Ingalls). + + +Changes in version 2.1.2.RELEASE (2016-06-15) +--------------------------------------------- +* DATACOUCH-231 - Bump SDK to 2.2.7 for Hopper SR2, Ingals. +* DATACOUCH-229 - Some N1QL/index error messages checked by DATACOUCH are changing in Couchbase Server 4.5. +* DATACOUCH-228 - findByView could be made more performant by using async API internally. +* DATACOUCH-227 - findByView won't use retainOrder parameter if RawJsonDocument target is not used. +* DATACOUCH-225 - spring-data-couchbase 2.x series incompatible with Couchbase SDK > 2.2.3. +* DATACOUCH-224 - Improve concurrent save/insert optimistic locking. +* DATACOUCH-222 - Release 2.1.2 (Hopper SR2). + + +Changes in version 2.1.1.RELEASE (2016-04-06) +--------------------------------------------- +* DATACOUCH-220 - Release 2.1.1 (Hopper SR1). + + +Changes in version 2.1.0.RELEASE (2016-04-06) +--------------------------------------------- +* DATACOUCH-219 - Add pull request template. +* DATACOUCH-218 - Release 2.1 GA (Hopper). + + +Changes in version 2.1.0.RC1 (2016-03-18) +----------------------------------------- +* DATACOUCH-216 - Add template getter on CouchbaseRepository interface. +* DATACOUCH-215 - isolate dependency to core SDK beans in a CouchbaseConfigurer. +* DATACOUCH-214 - N1qlUtils.createSort does not Sort.Order::isIgnoreCase. +* DATACOUCH-213 - Release 2.1 RC1 (Hopper). +* DATACOUCH-212 - Optimistic Locking is not working when using Repository save method. +* DATACOUCH-211 - Pageable.getSort() value not honoured in N1qlCouchbaseRepository. +* DATACOUCH-209 - Default Consistency should be READ_YOUR_OWN_WRITES. +* DATACOUCH-208 - Allow CouchbaseConfiguration couchbaseTemplate to be any CouchbaseOperations. +* DATACOUCH-207 - Make BeanNames constants public. +* DATACOUCH-204 - Make sure package-info.java exist for all packages. +* DATACOUCH-203 - CDI support can fail due to Set.toString() used as Map key. +* DATACOUCH-77 - Links to documentation. + + +Changes in version 1.4.4.RELEASE (2016-02-23) +--------------------------------------------- +* DATACOUCH-205 - Release 1.4.4 (Gosling SR4). + + +Changes in version 2.1.0.M1 (2016-02-12) +---------------------------------------- +* DATACOUCH-202 - Adapt to API changes in Spring Data Commons QueryMethod. +* DATACOUCH-198 - Add code of conduct. +* DATACOUCH-195 - Release 2.1 M1 (Hopper). +* DATACOUCH-181 - Adapt to API changes in Spring Data Commons. +* DATACOUCH-115 - _class attribute doesn't work with couchbase sync gateway. + + +Changes in version 2.0.0.RELEASE (2016-02-08) +--------------------------------------------- +* DATACOUCH-180 - Named N1QL param doesn't work. +* DATACOUCH-184 - Add support for customizing repository base class. +* DATACOUCH-185 - Base repository methods should also use the configured default consistency. +* DATACOUCH-186 - Template methods based on stale indexes should not take deleted docs into account. +* DATACOUCH-187 - Support long return type in @Query when selecting single aggregation. +* DATACOUCH-188 - Update Couchbase java-client to latest version (2.2.3). +* DATACOUCH-189 - Document how to extend a repository / change the base class. +* DATACOUCH-190 - Give an example of SpEL support in documentation. +* DATACOUCH-192 - Ensure no bean created by SDC clashes with other datastores by having couchbase in their name. +* DATACOUCH-196 - ViewIndexed emits ids so that findAll(ids) works. +* DATACOUCH-199 - Auto Index creation should be opt-in. +* DATACOUCH-201 - Release 2.0 GA. + + +Changes in version 2.0.0.RC1 (2015-12-22) +----------------------------------------- +* DATACOUCH-159 - Response time degradation on document conversion with a lot of longs inside. +* DATACOUCH-172 - PagingAndSorting doesn't use configurable consistency. +* DATACOUCH-174 - Fix xml creation of repositories. +* DATACOUCH-158 - Take expiry as a long+TimeUnit in Document annotation. +* DATACOUCH-168 - Support non-numerical return types for view reduce. +* DATACOUCH-170 - N1QL documentation fixes. +* DATACOUCH-173 - some integration tests don't pass on empty bucket. +* DATACOUCH-176 - Automatic false positive elimination in geo queries. +* DATACOUCH-177 - Upgrade SDK dependency to 2.2.2. +* DATACOUCH-138 - Add support for paging and sorting. +* DATACOUCH-165 - Add support for GeoSpatial querying using views. +* DATACOUCH-166 - Support SpEL in inline N1QL queries. +* DATACOUCH-169 - Offer main indexes creation as an option in the configuration. +* DATACOUCH-163 - integration test data generation should take typeKey into account. +* DATACOUCH-164 - SDC 2.0.0 must rely on stable version of the SDK. +* DATACOUCH-183 - Release 2.0 RC1. + + +Changes in version 1.4.2.RELEASE (2015-12-18) +--------------------------------------------- +* DATACOUCH-182 - Release 1.4.2 (Gosling). + + +Changes in version 1.4.1.RELEASE (2015-11-15) +--------------------------------------------- +* DATACOUCH-175 - Release 1.4.1 (Gosling). + + +Changes in version 1.2.4.RELEASE (2015-10-14) +--------------------------------------------- +* DATACOUCH-167 - Release 1.2.4 (Evans). + + +Changes in version 1.4.0.RELEASE (2015-09-01) +--------------------------------------------- +* DATACOUCH-160 - Release 1.4 GA (Gosling). +* DATACOUCH-159 - Response time degradation on document conversion with a lot of longs inside. + + +Changes in version 2.0.0.M2 (2015-08-04) +---------------------------------------- +* DATACOUCH-134 - Support Bucket Shadowing. +* DATACOUCH-135 - Migrate to Couchbase SDK 2.2.0-dp, with support for N1QL in template. +* DATACOUCH-136 - Add N1QL query annotation. +* DATACOUCH-137 - Allow query derivation from @N1QL annotated methods. +* DATACOUCH-139 - Implement @View as minimalistic query derivation. +* DATACOUCH-140 - Use Converter on method parameters when deriving query. +* DATACOUCH-141 - Change query lookup order and make N1QL default. +* DATACOUCH-142 - Document changes from 1.4 to 2.0 and migration cheat sheet. +* DATACOUCH-143 - Log repository queries in DEBUG. +* DATACOUCH-144 - Detect N1QL is unsupported and fail fast. +* DATACOUCH-145 - Use SDK's Field/Id annotations. +* DATACOUCH-148 - Allow global configuration of default staleness parameter for view queries. +* DATACOUCH-149 - Switch from BeanWrapper to PersistentPropertyAccessor. +* DATACOUCH-150 - Release version 2.0 M1. +* DATACOUCH-152 - Bump SDK version to 2.2.0-dp2 and make adjustements. +* DATACOUCH-154 - Use consistent method to guess desing document. +* DATACOUCH-155 - Escape every field name in N1QL queries. +* DATACOUCH-156 - Filter on type information in generated N1QL queries. + +Changes in version 1.4.0.RC1 (2015-08-04) +----------------------------------------- +* DATACOUCH-157 - Release 1.4 RC1 (Gosling). +* DATACOUCH-151 - NullPointerException on auto-boxing in CouchbaseTemplate. +* DATACOUCH-149 - Switch from BeanWrapper to PersistentPropertyAccessor. +* DATACOUCH-133 - Fix typos in README. +* DATACOUCH-129 - Ensure Spring Framework 4.2 compatibility. + +Changes in version 1.3.2.RELEASE (2015-07-28) +--------------------------------------------- +* DATACOUCH-153 - Release 1.3.2 (Fowler). +* DATACOUCH-151 - NullPointerException on auto-boxing in CouchbaseTemplate. + +Changes in version 1.1.6.RELEASE (2015-07-01) +--------------------------------------------- +* DATACOUCH-133 - Fix typos in README. +* DATACOUCH-130 - Release 1.1.6 (Dijkstra). +* DATACOUCH-129 - Ensure Spring Framework 4.2 compatibility. + +Changes in version 1.2.3.RELEASE (2015-07-01) +--------------------------------------------- +* DATACOUCH-133 - Fix typos in README. +* DATACOUCH-131 - Release 1.2.3 (Evans). +* DATACOUCH-129 - Ensure Spring Framework 4.2 compatibility. + + +Changes in version 1.3.1.RELEASE (2015-06-30) +--------------------------------------------- +* DATACOUCH-133 - Fix typos in README. +* DATACOUCH-132 - Release 1.3.1 (Fowler). +* DATACOUCH-129 - Ensure Spring Framework 4.2 compatibility. + + +Changes in version 1.4.0.M1 (2015-06-02) +---------------------------------------- +* DATACOUCH-127 - Release 1.4 M1 (Gosling). +* DATACOUCH-126 - @EnableCouchbaseRespositories does not implement the `repositoryBaseClass` attribute. + + +Changes in version 1.3.0.RELEASE (2015-03-23) +--------------------------------------------- +* DATACOUCH-122 - Release 1.3 GA. + + +Changes in version 1.3.0.RC1 (2015-03-05) +----------------------------------------- +* DATACOUCH-121 - Release 1.3 RC1. +* DATACOUCH-120 - Update Java SDK to 1.4.7. +* DATACOUCH-117 - Fix shaky builds. +* DATACOUCH-110 - Custom converted objects in map/collection property are not serialized correctly. +* DATACOUCH-109 - Add support for custom implementations in CDI repositories. +* DATACOUCH-102 - Pass source object to AbstractCouchbaseEventListener's onBeforeDelete and onAfterDelete. +* DATACOUCH-25 - Cache TTL (Time To Live) property required. + + +Changes in version 1.2.2.RELEASE (2015-01-28) +--------------------------------------------- +* DATACOUCH-119 - Release 1.2.2. +* DATACOUCH-117 - Fix shaky builds. + + +Changes in version 1.1.5.RELEASE (2015-01-27) +--------------------------------------------- +* DATACOUCH-118 - Release 1.1.5. +* DATACOUCH-117 - Fix shaky builds. + + +Changes in version 1.3.0.M1 (2014-12-01) +---------------------------------------- +* DATACOUCH-116 - Release 1.3 M1. +* DATACOUCH-113 - Ensure Spring 4.1 compatibility. + + +Changes in version 1.2.1.RELEASE (2014-10-30) +--------------------------------------------- +* DATACOUCH-114 - Release 1.2.1. +* DATACOUCH-113 - Ensure Spring 4.1 compatibility. + + +Changes in version 1.2.0.RELEASE (2014-09-05) +--------------------------------------------- +* DATACOUCH-108 - Make sure Spring Data Couchbase can be built using a JDK 8. +* DATACOUCH-107 - Release 1.2 GA. +* DATACOUCH-105 - Update to Java SDK 1.4.4. +* DATACOUCH-103 - Polish reference documentation. +* DATACOUCH-97 - Support for createRepositoryFactory(CouchbaseOperations operations), getCouchbaseClient(). +* DATACOUCH-94 - Move to FieldNamingStrategy SPI in Spring Data Commons. + + +Changes in version 1.1.4.RELEASE (2014-08-27) +--------------------------------------------- +* DATACOUCH-106 - Release 1.1.4. + + +Changes in version 1.2.0.RC1 (2014-08-13) +----------------------------------------- +* DATACOUCH-101 - Release 1.2 RC1. +* DATACOUCH-100 - Move to Asciidoctor for reference documentation. + + +Changes in version 1.1.2.RELEASE (2014-07-28) +--------------------------------------------- +* DATACOUCH-99 - Release 1.1.2. + + +Changes in version 1.2.0.M1 (2014-07-10) +---------------------------------------- +* DATACOUCH-96 - Release 1.2 M1. + + +Changes in version 1.1.1.RELEASE (2014-06-30) +--------------------------------------------- +* DATACOUCH-95 - Release 1.1.1. + + +Changes in version 1.1.0.RELEASE (2014-05-20) +--------------------------------------------- +* DATACOUCH-89 - Upgrade Java SDK to 1.4.1. +* DATACOUCH-88 - Upgrade to latest HttpClient for Spring 4 build compatibility. +* DATACOUCH-87 - Release 1.1 GA. +* DATACOUCH-86 - Fix compile errors against Spring 4's Cache interface. + + +Changes in version 1.1.0.RC1 (2014-05-02) +----------------------------------------- +* DATACOUCH-84 - Release 1.1 RC1. +* DATACOUCH-82 - Allow custom FieldNamingStrategies. + + +Release Notes - Spring Data Couchbase - Version 1.1 M1 - 2014-03-31 +------------------------------------------------------------------- +** Task + * [DATACOUCH-78] - Adapt to changes in BeanWrapper generics + * [DATACOUCH-79] - Release 1.1 M1 + +Release Notes - Spring Data Couchbase - Version 1.0.0.RELEASE - 2014-03-13 +-------------------------------------------------------------------------- +** Bug + * [DATACOUCH-50] - findAll(Iterable ids) in CrudRepository throws java.util.concurrent.ExecutionException + * [DATACOUCH-61] - NPE when saving object containing Joda DateTime field + * [DATACOUCH-69] - Can't deserialize Date field + * [DATACOUCH-70] - Bundle could not be resolved in non J2SE-1.6 runtime environment + +** Improvement + * [DATACOUCH-55] - Allow support for custom object mapping (like Date objects) + * [DATACOUCH-72] - Update Couchbase SDK , Jackson and Spring-Data-Commons + * [DATACOUCH-75] - Trim off find on custom repository finder methods. + * [DATACOUCH-76] - Upgrade to latest spring-data-commons and parent + +** New Feature + * [DATACOUCH-71] - Support for JS303 Validation (& template events) + +** Task + * [DATACOUCH-73] - Release 1.0 GA + * [DATACOUCH-74] - Initial Documentation for 1.0 GA + +Release Notes - Spring Data Couchbase - Version 1.0 RC1 - 2014-02-06 +-------------------------------------------------------------------- +** Bug + * [DATACOUCH-30] - ObjectMapper configuration must be supported + * [DATACOUCH-44] - Not consistent unit tests + * [DATACOUCH-47] - Connecting to multiple buckets fails + * [DATACOUCH-51] - update(java.util.Collection) adds new document object + * [DATACOUCH-52] - CouchbaseCacheManager does not shutdown couchbase connections + * [DATACOUCH-53] - NPE on CouchbaseCache puting null + * [DATACOUCH-58] - Allow null values for List elements and Map values + +** Improvement + * [DATACOUCH-14] - Enable default support for slf4j in couchbase-client + * [DATACOUCH-20] - @View annotation on repository finder methods + * [DATACOUCH-49] - Enhance @View "Query" params customization + * [DATACOUCH-56] - Update Couchbase Client to 1.2.3 + * [DATACOUCH-57] - Allow for configuring of CouchbaseClient with property/SPEL expressions + * [DATACOUCH-60] - Upgrade Dependencies (Couchbase, Jackson, Commons) + * [DATACOUCH-62] - Upgrade couchbase java SDK to latest stable version + * [DATACOUCH-64] - Add View query methods to repositories + * [DATACOUCH-65] - Add @Version support on top of CAS for optimistic locking + +** New Feature + * [DATACOUCH-63] - support optimistic locking through CAS methods + +** Task + * [DATACOUCH-66] - Release 1.0 RC1 + +Release Notes - Spring Data Couchbase - Version 1.0 M2 - 2013-11-14 +------------------------------------------------------------------- +** Bug + * [DATACOUCH-25] - Cache TTL (Time To Live) property required. + * [DATACOUCH-27] - MappingCouchbaseConverter skips ID field in read operation + * [DATACOUCH-34] - Can't deserialize long/Long/Date fields + * [DATACOUCH-35] - Can't deserialize Class fields + * [DATACOUCH-36] - Can't store a map with null value + * [DATACOUCH-37] - Refactor Deprecated JUnit Asserts + * [DATACOUCH-38] - Can't deserialize enum + * [DATACOUCH-39] - Fix bundlor compile issues + * [DATACOUCH-42] - spring-data threads should be daemon threads + * [DATACOUCH-43] - Bad handling of non ASCII Strings + +** Improvement + * [DATACOUCH-16] - Allow View customization through @View annotations + * [DATACOUCH-31] - Ignore IntelliJ IDE files + * [DATACOUCH-32] - Upgrade Couchbase SDK to 1.2.0 + * [DATACOUCH-40] - Make ClusterInfo more reliable (long/int) + * [DATACOUCH-41] - Update Couchbase SDK to 1.2.1 + +** Task + * [DATACOUCH-45] - Upgrade Couchbase Client to 1.2.2 + * [DATACOUCH-46] - Release 1.0 M2 + +Release Notes - Spring Data Couchbase - Version 1.0 M1 - 2013-09-11 +------------------------------------------------------------------- +** Bug + * [DATACOUCH-11] - Upgrade Jackson to 2.2 Release + * [DATACOUCH-22] - Spring Data Couchbase build fails when not having bundlor maven plugin + +** Improvement + * [DATACOUCH-5] - Add AbstractCouchbaseConfiguration for JavaConfig + * [DATACOUCH-6] - Add simple support for XML configurations + * [DATACOUCH-7] - Implement find* methods on SimpleCouchbaseRepository + * [DATACOUCH-12] - Support arbitrary Objects on encode/decode + * [DATACOUCH-13] - Upgrade Couchbase-Client to 1.1.7 + * [DATACOUCH-15] - Upgrade Couchbase Java Client to 1.1.8 + * [DATACOUCH-17] - Make sure default template ops are sync & exceptions are mapped + * [DATACOUCH-19] - Deploy Snapshots & Integrate CI + * [DATACOUCH-21] - Improve API Documentation & Formatting before M1 + * [DATACOUCH-23] - Make Testsuite clean the bucket on every run. + * [DATACOUCH-24] - Add testing for view-based operations on template and repository. + * [DATACOUCH-26] - Upgrade Couchbase Java Client to 1.1.9 + +** Task + * [DATACOUCH-1] - Use Spring Data Build parent + * [DATACOUCH-2] - Release 1.0 M1 + * [DATACOUCH-3] - Rename packages to org.springframework.data.couchbase + * [DATACOUCH-4] - Add Apache 2 license headers + * [DATACOUCH-8] - Overhaul README with uptodate information + * [DATACOUCH-9] - Add View query support to the Template + * [DATACOUCH-10] - Upgrade parent pom to 1.1.0.RELEASE diff --git a/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd b/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd index 6973761f..0647c96b 100644 --- a/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd +++ b/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd @@ -54,7 +54,6 @@ - diff --git a/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java b/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java index 2ac0cfc2..b1b84863 100644 --- a/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java +++ b/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors + * Copyright 2012-2015 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. @@ -79,6 +79,8 @@ public class CouchbaseEnvironmentParserTest { assertThat(env.sslEnabled(), allOf(equalTo(true), not(defaultEnv.sslEnabled()))); assertThat(env.sslKeystoreFile(), is(equalTo("test"))); assertThat(env.sslKeystorePassword(), is(equalTo("test"))); + assertThat(env.queryEnabled(), allOf(equalTo(true), not(defaultEnv.queryEnabled()))); + assertThat(env.queryPort(), is(equalTo(7))); assertThat(env.bootstrapHttpEnabled(), allOf(equalTo(false), not(defaultEnv.bootstrapHttpEnabled()))); assertThat(env.bootstrapCarrierEnabled(), allOf(equalTo(false), not(defaultEnv.bootstrapCarrierEnabled()))); assertThat(env.bootstrapHttpDirectPort(), is(equalTo(8))); @@ -99,7 +101,6 @@ public class CouchbaseEnvironmentParserTest { assertThat(env.bufferPoolingEnabled(), allOf(equalTo(false), not(defaultEnv.bufferPoolingEnabled()))); assertThat(env.tcpNodelayEnabled(), allOf(equalTo(false), not(defaultEnv.tcpNodelayEnabled()))); assertThat(env.mutationTokensEnabled(), allOf(equalTo(true), not(defaultEnv.mutationTokensEnabled()))); - assertThat(env.analyticsTimeout(), is(equalTo(30L))); } @AfterClass diff --git a/src/test/resources/configurations/couchbaseEnv-bean.xml b/src/test/resources/configurations/couchbaseEnv-bean.xml index 5040a2ce..d280a67c 100644 --- a/src/test/resources/configurations/couchbaseEnv-bean.xml +++ b/src/test/resources/configurations/couchbaseEnv-bean.xml @@ -23,6 +23,8 @@ sslEnabled="true" sslKeystoreFile="test" sslKeystorePassword="test" + queryEnabled="true" + queryPort="7" bootstrapHttpEnabled="false" bootstrapCarrierEnabled="false" bootstrapHttpDirectPort="8" @@ -43,7 +45,6 @@ bufferPoolingEnabled="false" tcpNodelayEnabled="false" mutationTokensEnabled="true" - analyticsTimeout="30" /> \ No newline at end of file