DATACOUCH-299 - Roll back to Java driver version 2.2.8.

This reverts commit 4983dfc7b2.

Related tickets: DATACOUCH-290.
This commit is contained in:
Oliver Gierke
2017-04-19 16:51:47 +02:00
parent 7c18168cbe
commit cb912b8b95
12 changed files with 800 additions and 173 deletions

View File

@@ -21,8 +21,8 @@
<dist.key>DATACOUCH</dist.key>
<couchbase>2.4.4</couchbase>
<couchbase.osgi>2.4.4</couchbase.osgi>
<couchbase>2.2.8</couchbase>
<couchbase.osgi>2.2.8</couchbase.osgi>
<springdata.commons>1.12.10.BUILD-SNAPSHOT</springdata.commons>
<validation>1.0.0.GA</validation>
</properties>

176
pom.xml.orig Normal file
View File

@@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-couchbase</artifactId>
<version>2.1.10.BUILD-SNAPSHOT</version>
<name>Spring Data Couchbase</name>
<description>Spring Data integration for Couchbase</description>
<url>https://github.com/SpringSource/spring-data-couchbase</url>
<parent>
<groupId>org.springframework.data.build</groupId>
<artifactId>spring-data-parent</artifactId>
<version>1.8.10.BUILD-SNAPSHOT</version>
</parent>
<properties>
<dist.key>DATACOUCH</dist.key>
<<<<<<< HEAD
<couchbase>2.4.4</couchbase>
<couchbase.osgi>2.4.4</couchbase.osgi>
<springdata.commons>1.12.10.BUILD-SNAPSHOT</springdata.commons>
=======
<couchbase>2.2.8</couchbase>
<couchbase.osgi>2.2.8</couchbase.osgi>
<springdata.commons>1.12.9.BUILD-SNAPSHOT</springdata.commons>
>>>>>>> DATACOUCH-299 - Roll back to Java driver version 2.2.8.
<validation>1.0.0.GA</validation>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>spring-data-commons</artifactId>
<version>${springdata.commons}</version>
</dependency>
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>${couchbase}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.2.0.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson}</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime}</version>
<optional>true</optional>
</dependency>
<!-- JSR 303 Validation -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>${validation}</version>
<optional>true</optional>
</dependency>
<!-- CDI -->
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>${cdi}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.openwebbeans.test</groupId>
<artifactId>cditest-owb</artifactId>
<version>${webbeans}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-libs-snapshot</id>
<url>https://repo.spring.io/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-plugins-release</id>
<url>https://repo.spring.io/plugins-release</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.jfrog.buildinfo</groupId>
<artifactId>artifactory-maven-plugin</artifactId>
<inherited>false</inherited>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -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)));
}

View File

@@ -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()) {

View File

@@ -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<CouchbaseEnvironment> {
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);
}
}
}

View File

@@ -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<Boolean> 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();
}
}
}

View File

@@ -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;
* <li>{@link DefaultCouchbaseEnvironment.Builder#sslEnabled(boolean) sslEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#sslKeystoreFile(String) sslKeystoreFile}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#sslKeystorePassword(String) sslKeystorePassword}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#queryEnabled(boolean) queryEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#queryPort(int) queryPort}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#bootstrapHttpEnabled(boolean) bootstrapHttpEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#bootstrapCarrierEnabled(boolean) bootstrapCarrierEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#bootstrapHttpDirectPort(int) bootstrapHttpDirectPort}</li>
@@ -64,11 +66,9 @@ import org.springframework.util.StringUtils;
* <li>{@link DefaultCouchbaseEnvironment.Builder#bufferPoolingEnabled(boolean) bufferPoolingEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#tcpNodelayEnabled(boolean) tcpNodelayEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#mutationTokensEnabled(boolean) mutationTokensEnabled}</li>
* <li>{@link DefaultCouchbaseEnvironment.Builder#analyticsTimeout(long) analyticsTimeout}</li>
* </ul>
*
* @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");

View File

@@ -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)) {

View File

@@ -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 <couchbase:env/>.
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<ID> 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

View File

@@ -54,7 +54,6 @@
<xsd:attribute name="bufferPoolingEnabled" type="xsd:boolean"/>
<xsd:attribute name="tcpNodelayEnabled" type="xsd:boolean"/>
<xsd:attribute name="mutationTokensEnabled" type="xsd:boolean"/>
<xsd:attribute name="analyticsTimeout" type="xsd:long"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

View File

@@ -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

View File

@@ -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"
/>
</beans>