From b2ec03cd4e5a8b91945634445d8017b3f7e2a33d Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 7 Feb 2017 12:03:27 +0100 Subject: [PATCH] Restore couchbase support This commit effectively reverts the changes that were applied to workaround the breakage in spring-data-couchbase. Closes gh-8200 --- .../SpringBootCouchbaseDataConfiguration.java | 50 +++---------------- .../CouchbaseDataAutoConfigurationTests.java | 32 +----------- .../SampleCouchbaseApplicationTests.java | 2 - 3 files changed, 10 insertions(+), 74 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java index ae348e58553..3d80b8654b8 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/couchbase/SpringBootCouchbaseDataConfiguration.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,22 +16,17 @@ package org.springframework.boot.autoconfigure.data.couchbase; -import java.util.List; import java.util.Set; -import com.couchbase.client.java.Cluster; -import com.couchbase.client.java.cluster.ClusterInfo; - import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.couchbase.CouchbaseProperties; import org.springframework.boot.autoconfigure.domain.EntityScanner; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.annotation.Persistent; -import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; +import org.springframework.data.couchbase.config.AbstractCouchbaseDataConfiguration; import org.springframework.data.couchbase.config.BeanNames; import org.springframework.data.couchbase.config.CouchbaseConfigurer; import org.springframework.data.couchbase.core.CouchbaseTemplate; @@ -46,53 +41,24 @@ import org.springframework.data.couchbase.repository.support.IndexManager; * @author Stephane Nicoll */ @Configuration -@ConditionalOnMissingBean(AbstractCouchbaseConfiguration.class) +@ConditionalOnMissingBean(AbstractCouchbaseDataConfiguration.class) @ConditionalOnBean(CouchbaseConfigurer.class) -class SpringBootCouchbaseDataConfiguration extends AbstractCouchbaseConfiguration { +class SpringBootCouchbaseDataConfiguration extends AbstractCouchbaseDataConfiguration { private final ApplicationContext applicationContext; - private final CouchbaseProperties properties; - - private final CouchbaseDataProperties dataProperties; + private final CouchbaseDataProperties properties; private final CouchbaseConfigurer couchbaseConfigurer; SpringBootCouchbaseDataConfiguration(ApplicationContext applicationContext, - CouchbaseProperties properties, - CouchbaseDataProperties dataProperties, + CouchbaseDataProperties properties, ObjectProvider couchbaseConfigurer) { this.applicationContext = applicationContext; this.properties = properties; - this.dataProperties = dataProperties; this.couchbaseConfigurer = couchbaseConfigurer.getIfAvailable(); } - @Override - protected List getBootstrapHosts() { - return this.properties.getBootstrapHosts(); - } - - @Override - protected String getBucketName() { - return this.properties.getBucket().getName(); - } - - @Override - protected String getBucketPassword() { - return this.properties.getBucket().getPassword(); - } - - @Override - public Cluster couchbaseCluster() throws Exception { - return couchbaseConfigurer().couchbaseCluster(); - } - - @Override - public ClusterInfo couchbaseClusterInfo() throws Exception { - return couchbaseConfigurer().couchbaseClusterInfo(); - } - @Override protected CouchbaseConfigurer couchbaseConfigurer() { return this.couchbaseConfigurer; @@ -100,7 +66,7 @@ class SpringBootCouchbaseDataConfiguration extends AbstractCouchbaseConfiguratio @Override protected Consistency getDefaultConsistency() { - return this.dataProperties.getConsistency(); + return this.properties.getConsistency(); } @Override @@ -127,7 +93,7 @@ class SpringBootCouchbaseDataConfiguration extends AbstractCouchbaseConfiguratio @ConditionalOnMissingBean(name = BeanNames.COUCHBASE_INDEX_MANAGER) @Bean(name = BeanNames.COUCHBASE_INDEX_MANAGER) public IndexManager indexManager() { - if (this.dataProperties.isAutoIndex()) { + if (this.properties.isAutoIndex()) { return new IndexManager(true, true, true); } return new IndexManager(false, false, false); diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfigurationTests.java index b68abe85866..ef632fb8b3a 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/couchbase/CouchbaseDataAutoConfigurationTests.java @@ -17,11 +17,8 @@ package org.springframework.boot.autoconfigure.data.couchbase; import java.util.Collections; -import java.util.List; import java.util.Set; -import com.couchbase.client.java.Cluster; -import com.couchbase.client.java.cluster.ClusterInfo; import org.junit.After; import org.junit.Test; @@ -38,7 +35,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.convert.converter.Converter; -import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration; +import org.springframework.data.couchbase.config.AbstractCouchbaseDataConfiguration; import org.springframework.data.couchbase.config.BeanNames; import org.springframework.data.couchbase.config.CouchbaseConfigurer; import org.springframework.data.couchbase.core.CouchbaseTemplate; @@ -150,32 +147,7 @@ public class CouchbaseDataAutoConfigurationTests { } @Configuration - static class CustomCouchbaseConfiguration extends AbstractCouchbaseConfiguration { - - @Override - protected List getBootstrapHosts() { - return null; - } - - @Override - protected String getBucketName() { - return null; - } - - @Override - protected String getBucketPassword() { - return null; - } - - @Override - public Cluster couchbaseCluster() throws Exception { - return couchbaseConfigurer().couchbaseCluster(); - } - - @Override - public ClusterInfo couchbaseClusterInfo() throws Exception { - return couchbaseConfigurer().couchbaseClusterInfo(); - } + static class CustomCouchbaseConfiguration extends AbstractCouchbaseDataConfiguration { @Override protected CouchbaseConfigurer couchbaseConfigurer() { diff --git a/spring-boot-samples/spring-boot-sample-data-couchbase/src/test/java/sample/data/couchbase/SampleCouchbaseApplicationTests.java b/spring-boot-samples/spring-boot-sample-data-couchbase/src/test/java/sample/data/couchbase/SampleCouchbaseApplicationTests.java index d5a3e5d09fb..8999bed8f5d 100644 --- a/spring-boot-samples/spring-boot-sample-data-couchbase/src/test/java/sample/data/couchbase/SampleCouchbaseApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-data-couchbase/src/test/java/sample/data/couchbase/SampleCouchbaseApplicationTests.java @@ -17,7 +17,6 @@ package sample.data.couchbase; import java.net.ConnectException; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; @@ -33,7 +32,6 @@ public class SampleCouchbaseApplicationTests { public OutputCapture outputCapture = new OutputCapture(); @Test - @Ignore("See #8200") public void testDefaultSettings() throws Exception { try { new SpringApplicationBuilder(SampleCouchbaseApplication.class)