From d4ce149f2d613b74a59a7d95e2d7dbf46eaa1bed Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 1 Oct 2015 11:20:35 +0100 Subject: [PATCH] Refactor server into packages Also removes getDefaultLabel() from EnvironmentRepository. --- .../monitor/FileMonitorConfiguration.java | 4 +- .../test/java/sample/ApplicationTests.java | 2 +- .../sample/ServerNativeApplicationTests.java | 2 +- ...figServerBootstrapApplicationListener.java | 2 +- .../ConfigServerBootstrapConfiguration.java | 21 +++---- .../ConfigServerEncryptionConfiguration.java | 6 +- .../ConfigServerHealthIndicator.java | 40 +++++++------- .../config/ConfigServerMvcConfiguration.java | 11 ++-- .../{ => config}/ConfigServerProperties.java | 2 +- .../EnvironmentRepositoryConfiguration.java | 45 ++++++--------- .../ResourceRepositoryConfiguration.java | 9 ++- .../encryption/EncryptionController.java | 46 +++++++++------- .../AbstractScmEnvironmentRepository.java | 5 +- .../{ => environment}/EnvironmentCleaner.java | 2 +- .../EnvironmentController.java | 13 ++--- ...ronmentEncryptorEnvironmentRepository.java | 10 +--- .../EnvironmentRepository.java | 4 +- ...onmentRepositoryPropertySourceLocator.java | 2 +- .../JGitEnvironmentRepository.java | 8 ++- .../MultipleJGitEnvironmentRepository.java | 2 +- .../NativeEnvironmentRepository.java | 5 +- .../NoSuchLabelException.java | 2 +- .../PassthruEnvironmentRepository.java | 7 +-- .../RepositoryException.java | 2 +- .../SearchPathLocator.java} | 7 ++- .../SerializableMapPropertySource.java | 2 +- .../SvnKitEnvironmentRepository.java | 6 +- .../GenericResourceRepository.java | 9 +-- .../NoSuchResourceException.java | 2 +- .../{ => resource}/ResourceController.java | 5 +- .../{ => resource}/ResourceRepository.java | 2 +- .../{ => support}/AbstractScmAccessor.java | 6 +- .../{ => test}/ConfigServerTestUtils.java | 2 +- .../main/resources/META-INF/spring.factories | 4 +- ...BootstrapConfigServerIntegrationTests.java | 2 +- .../ConfigClientOffIntegrationTests.java | 3 + .../ConfigClientOnIntegrationTests.java | 3 + .../NativeConfigServerIntegrationTests.java | 2 +- ...ubversionConfigServerIntegrationTests.java | 13 +++-- .../VanillaConfigServerIntegrationTests.java | 2 +- .../ConfigServerHealthIndicatorTests.java | 4 +- ...tionControllerMultiTextEncryptorTests.java | 8 +-- .../encryption/EncryptionControllerTests.java | 26 ++++----- ...EnvironmentControllerIntegrationTests.java | 14 ++--- .../EnvironmentControllerTests.java | 31 +++++------ ...ntEncryptorEnvironmentRepositoryTests.java | 3 +- ...EnvironmentRepositoryConcurrencyTests.java | 4 +- ...EnvironmentRepositoryIntegrationTests.java | 7 ++- .../JGitEnvironmentRepositoryTests.java | 4 +- ...EnvironmentRepositoryIntegrationTests.java | 4 +- ...ultipleJGitEnvironmentRepositoryTests.java | 8 +-- .../NativeEnvironmentRepositoryTests.java | 3 +- ...EnvironmentRepositoryIntegrationTests.java | 55 ++++++++++--------- .../SVNKitEnvironmentRepositoryTests.java | 5 +- .../GenericResourceRepositoryTests.java | 6 +- .../ResourceControllerTests.java | 6 +- 56 files changed, 261 insertions(+), 249 deletions(-) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => bootstrap}/ConfigServerBootstrapApplicationListener.java (98%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => bootstrap}/ConfigServerBootstrapConfiguration.java (76%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => config}/ConfigServerHealthIndicator.java (84%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => config}/ConfigServerProperties.java (98%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/AbstractScmEnvironmentRepository.java (88%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentCleaner.java (93%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentController.java (96%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentEncryptorEnvironmentRepository.java (92%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentRepository.java (91%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentRepositoryPropertySourceLocator.java (97%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/JGitEnvironmentRepository.java (98%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/MultipleJGitEnvironmentRepository.java (98%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/NativeEnvironmentRepository.java (98%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/NoSuchLabelException.java (93%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/PassthruEnvironmentRepository.java (90%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/RepositoryException.java (92%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ResourceLocationService.java => environment/SearchPathLocator.java} (78%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/SerializableMapPropertySource.java (93%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => environment}/SvnKitEnvironmentRepository.java (94%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => resource}/GenericResourceRepository.java (89%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => resource}/NoSuchResourceException.java (93%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => resource}/ResourceController.java (94%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => resource}/ResourceRepository.java (93%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => support}/AbstractScmAccessor.java (95%) rename spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/{ => test}/ConfigServerTestUtils.java (98%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => config}/ConfigServerHealthIndicatorTests.java (84%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentControllerIntegrationTests.java (89%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentControllerTests.java (86%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/EnvironmentEncryptorEnvironmentRepositoryTests.java (95%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/JGitEnvironmentRepositoryConcurrencyTests.java (93%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/JGitEnvironmentRepositoryIntegrationTests.java (97%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/JGitEnvironmentRepositoryTests.java (97%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/MultipleJGitEnvironmentRepositoryIntegrationTests.java (97%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/MultipleJGitEnvironmentRepositoryTests.java (92%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/NativeEnvironmentRepositoryTests.java (94%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/SVNKitEnvironmentRepositoryIntegrationTests.java (80%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => environment}/SVNKitEnvironmentRepositoryTests.java (91%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => resource}/GenericResourceRepositoryTests.java (82%) rename spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/{ => resource}/ResourceControllerTests.java (85%) diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java index b0622b10..421dcab7 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/FileMonitorConfiguration.java @@ -34,8 +34,8 @@ import java.util.LinkedHashSet; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.config.server.AbstractScmEnvironmentRepository; -import org.springframework.cloud.config.server.NativeEnvironmentRepository; +import org.springframework.cloud.config.server.environment.AbstractScmEnvironmentRepository; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepository; import org.springframework.context.ResourceLoaderAware; import org.springframework.context.SmartLifecycle; import org.springframework.context.annotation.Configuration; diff --git a/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java b/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java index 8a2675b6..768d1bca 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ApplicationTests.java @@ -10,7 +10,7 @@ import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext; import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; -import org.springframework.cloud.config.server.ConfigServerTestUtils; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; diff --git a/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java b/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java index 507fee6c..f22dd855 100644 --- a/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java +++ b/spring-cloud-config-sample/src/test/java/sample/ServerNativeApplicationTests.java @@ -15,7 +15,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext; import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.cloud.config.server.ConfigServerTestUtils; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapApplicationListener.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapApplicationListener.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java index 0545eaf8..eb39df61 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapApplicationListener.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapApplicationListener.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.bootstrap; import java.util.Collections; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java similarity index 76% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapConfiguration.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java index 4b885c61..f2bcb9b5 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerBootstrapConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/bootstrap/ConfigServerBootstrapConfiguration.java @@ -13,12 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.bootstrap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.config.client.ConfigClientProperties; +import org.springframework.cloud.config.server.config.ConfigServerProperties; import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.environment.EnvironmentRepositoryPropertySourceLocator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -52,20 +55,18 @@ public class ConfigServerBootstrapConfiguration { @Bean public EnvironmentRepositoryPropertySourceLocator environmentRepositoryPropertySourceLocator() { - return new EnvironmentRepositoryPropertySourceLocator(repository, - client.getName(), client.getProfile(), getDefaultLabel()); + return new EnvironmentRepositoryPropertySourceLocator(this.repository, + this.client.getName(), this.client.getProfile(), getDefaultLabel()); } private String getDefaultLabel() { - if (StringUtils.hasText(client.getLabel())) { - return client.getLabel(); + if (StringUtils.hasText(this.client.getLabel())) { + return this.client.getLabel(); } - else if (StringUtils.hasText(server.getDefaultLabel())) { - return server.getDefaultLabel(); - } - else { - return repository.getDefaultLabel(); + else if (StringUtils.hasText(this.server.getDefaultLabel())) { + return this.server.getDefaultLabel(); } + return null; } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerEncryptionConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerEncryptionConfiguration.java index 671898c3..7200bb33 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerEncryptionConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerEncryptionConfiguration.java @@ -17,7 +17,6 @@ package org.springframework.cloud.config.server.config; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.config.server.ConfigServerProperties; import org.springframework.cloud.config.server.encryption.EncryptionController; import org.springframework.cloud.config.server.encryption.TextEncryptorLocator; import org.springframework.context.annotation.Bean; @@ -39,7 +38,10 @@ public class ConfigServerEncryptionConfiguration { @Bean public EncryptionController encryptionController() { - return new EncryptionController(this.encryptor, this.properties); + EncryptionController controller = new EncryptionController(this.encryptor); + controller.setDefaultApplicationName(this.properties.getDefaultApplicationName()); + controller.setDefaultProfile(this.properties.getDefaultProfile()); + return controller; } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerHealthIndicator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java similarity index 84% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerHealthIndicator.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java index 6c903725..9c3590d3 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerHealthIndicator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicator.java @@ -1,13 +1,5 @@ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.config; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.config.environment.Environment; -import org.springframework.cloud.config.environment.PropertySource; -import org.springframework.util.CollectionUtils; - -import javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -15,6 +7,16 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import javax.annotation.PostConstruct; + +import org.springframework.boot.actuate.health.AbstractHealthIndicator; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.environment.PropertySource; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.util.CollectionUtils; + /** * @author Spencer Gibb */ @@ -31,8 +33,8 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { @PostConstruct public void init() { - if (repositories.isEmpty()) { - repositories.put("app", new Repository()); + if (this.repositories.isEmpty()) { + this.repositories.put("app", new Repository()); } } @@ -40,14 +42,13 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { protected void doHealthCheck(Health.Builder builder) throws Exception { builder.up(); List> details = new ArrayList<>(); - for (String name : repositories.keySet()) { - Repository repository = repositories.get(name); + for (String name : this.repositories.keySet()) { + Repository repository = this.repositories.get(name); String application = (repository.getName() == null)? name : repository.getName(); String profiles = repository.getProfiles(); - String label = (repository.getLabel() == null)? environmentRepository.getDefaultLabel() : repository.getLabel(); try { - Environment environment = environmentRepository.findOne(application, profiles, label); + Environment environment = this.environmentRepository.findOne(application, profiles, null); HashMap detail = new HashMap<>(); detail.put("name", environment.getName()); @@ -68,7 +69,6 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { HashMap map = new HashMap<>(); map.put("application", application); map.put("profiles", profiles); - map.put("label", label); builder.withDetail("repository", map); builder.down(e); return; @@ -79,7 +79,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { } public Map getRepositories() { - return repositories; + return this.repositories; } public void setRepositories(Map repositories) { @@ -94,7 +94,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { public Repository() { } public String getName() { - return name; + return this.name; } public void setName(String name) { @@ -102,7 +102,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { } public String getProfiles() { - return profiles; + return this.profiles; } public void setProfiles(String profiles) { @@ -110,7 +110,7 @@ public class ConfigServerHealthIndicator extends AbstractHealthIndicator { } public String getLabel() { - return label; + return this.label; } public void setLabel(String label) { diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java index d5f9d25e..9673f5fb 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerMvcConfiguration.java @@ -17,13 +17,12 @@ package org.springframework.cloud.config.server.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.cloud.config.server.ConfigServerProperties; -import org.springframework.cloud.config.server.EnvironmentController; -import org.springframework.cloud.config.server.EnvironmentEncryptorEnvironmentRepository; -import org.springframework.cloud.config.server.EnvironmentRepository; -import org.springframework.cloud.config.server.ResourceController; -import org.springframework.cloud.config.server.ResourceRepository; import org.springframework.cloud.config.server.encryption.EnvironmentEncryptor; +import org.springframework.cloud.config.server.environment.EnvironmentController; +import org.springframework.cloud.config.server.environment.EnvironmentEncryptorEnvironmentRepository; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.resource.ResourceController; +import org.springframework.cloud.config.server.resource.ResourceRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerProperties.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerProperties.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerProperties.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerProperties.java index cc711f57..1ee6cd57 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerProperties.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ConfigServerProperties.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.config; import java.util.LinkedHashMap; import java.util.Map; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java index a0d2dff0..e5cf3a75 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java @@ -19,17 +19,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.config.server.ConfigServerHealthIndicator; -import org.springframework.cloud.config.server.ConfigServerProperties; -import org.springframework.cloud.config.server.EnvironmentRepository; -import org.springframework.cloud.config.server.MultipleJGitEnvironmentRepository; -import org.springframework.cloud.config.server.NativeEnvironmentRepository; -import org.springframework.cloud.config.server.SvnKitEnvironmentRepository; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepository; +import org.springframework.cloud.config.server.environment.SvnKitEnvironmentRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.core.env.ConfigurableEnvironment; -import org.springframework.util.StringUtils; /** * @author Dave Syer @@ -46,22 +43,6 @@ public class EnvironmentRepositoryConfiguration { return new ConfigServerHealthIndicator(repository); } - protected static class BaseRepositoryConfiguration { - - @Autowired - private ConfigServerProperties server; - - protected String getDefaultLabel(EnvironmentRepository repository) { - if (StringUtils.hasText(this.server.getDefaultLabel())) { - return this.server.getDefaultLabel(); - } - else { - return repository.getDefaultLabel(); - } - } - - } - @Configuration @Profile("native") protected static class NativeRepositoryConfiguration { @@ -78,29 +59,39 @@ public class EnvironmentRepositoryConfiguration { @Configuration @ConditionalOnMissingBean(EnvironmentRepository.class) - protected static class GitRepositoryConfiguration extends BaseRepositoryConfiguration { + protected static class GitRepositoryConfiguration { @Autowired private ConfigurableEnvironment environment; + @Autowired + private ConfigServerProperties server; + @Bean public EnvironmentRepository environmentRepository() { MultipleJGitEnvironmentRepository repository = new MultipleJGitEnvironmentRepository(this.environment); - repository.setDefaultLabel(getDefaultLabel(repository)); + if (this.server.getDefaultLabel()!=null) { + repository.setDefaultLabel(this.server.getDefaultLabel()); + } return repository; } } @Configuration @Profile("subversion") - protected static class SvnRepositoryConfiguration extends BaseRepositoryConfiguration { + protected static class SvnRepositoryConfiguration { @Autowired private ConfigurableEnvironment environment; + @Autowired + private ConfigServerProperties server; + @Bean public EnvironmentRepository environmentRepository() { SvnKitEnvironmentRepository repository = new SvnKitEnvironmentRepository(this.environment); - repository.setDefaultLabel(getDefaultLabel(repository)); + if (this.server.getDefaultLabel()!=null) { + repository.setDefaultLabel(this.server.getDefaultLabel()); + } return repository; } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceRepositoryConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceRepositoryConfiguration.java index ff8fa062..7475d7b7 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceRepositoryConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/ResourceRepositoryConfiguration.java @@ -17,10 +17,9 @@ package org.springframework.cloud.config.server.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.config.server.ConfigServerProperties; -import org.springframework.cloud.config.server.GenericResourceRepository; -import org.springframework.cloud.config.server.ResourceLocationService; -import org.springframework.cloud.config.server.ResourceRepository; +import org.springframework.cloud.config.server.environment.SearchPathLocator; +import org.springframework.cloud.config.server.resource.GenericResourceRepository; +import org.springframework.cloud.config.server.resource.ResourceRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -34,7 +33,7 @@ import org.springframework.context.annotation.Configuration; public class ResourceRepositoryConfiguration { @Bean - public ResourceRepository resourceRepository(ResourceLocationService service) { + public ResourceRepository resourceRepository(SearchPathLocator service) { return new GenericResourceRepository(service); } } \ No newline at end of file diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java index 11edac1d..63657c8c 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/encryption/EncryptionController.java @@ -23,7 +23,6 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.cloud.config.server.ConfigServerProperties; import org.springframework.cloud.context.encrypt.KeyFormatException; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -53,20 +52,28 @@ public class EncryptionController { volatile private TextEncryptorLocator encryptor; - private final ConfigServerProperties properties; - private EnvironmentPrefixHelper helper = new EnvironmentPrefixHelper(); - public EncryptionController(TextEncryptorLocator encryptor, - ConfigServerProperties configServerProperties) { + private String defaultApplicationName = "application"; + + private String defaultProfile = "default"; + + public EncryptionController(TextEncryptorLocator encryptor) { this.encryptor = encryptor; - this.properties = configServerProperties; + } + + public void setDefaultApplicationName(String defaultApplicationName) { + this.defaultApplicationName = defaultApplicationName; + } + + public void setDefaultProfile(String defaultProfile) { + this.defaultProfile = defaultProfile; } @RequestMapping(value = "/key", method = RequestMethod.GET) public String getPublicKey() { - TextEncryptor encryptor = this.encryptor.locate(this.helper.getEncryptorKeys( - "application", "default", "")); + TextEncryptor encryptor = this.encryptor + .locate(this.helper.getEncryptorKeys("application", "default", "")); if (!(encryptor instanceof RsaKeyHolder)) { throw new KeyNotAvailableException(); } @@ -75,8 +82,8 @@ public class EncryptionController { @RequestMapping(value = "/key/{name}/{profiles}", method = RequestMethod.GET) public String getPublicKey(@PathVariable String name, @PathVariable String profiles) { - TextEncryptor encryptor = this.encryptor.locate(this.helper.getEncryptorKeys( - name, profiles, "")); + TextEncryptor encryptor = this.encryptor + .locate(this.helper.getEncryptorKeys(name, profiles, "")); if (!(encryptor instanceof RsaKeyHolder)) { throw new KeyNotAvailableException(); } @@ -111,8 +118,7 @@ public class EncryptionController { public String encrypt(@RequestBody String data, @RequestHeader("Content-Type") MediaType type) { - return encrypt(this.properties.getDefaultApplicationName(), - this.properties.getDefaultProfile(), data, type); + return encrypt(this.defaultApplicationName, this.defaultProfile, data, type); } @RequestMapping(value = "/encrypt/{name}/{profiles}", method = RequestMethod.POST) @@ -121,10 +127,10 @@ public class EncryptionController { checkEncryptorInstalled(name, profiles); try { String input = stripFormData(data, type, false); - Map keys = this.helper - .getEncryptorKeys(name, profiles, input); - String encrypted = this.helper.addPrefix(keys, this.encryptor.locate(keys) - .encrypt(input)); + Map keys = this.helper.getEncryptorKeys(name, profiles, + input); + String encrypted = this.helper.addPrefix(keys, + this.encryptor.locate(keys).encrypt(input)); logger.info("Encrypted data"); return encrypted; } @@ -137,8 +143,7 @@ public class EncryptionController { public String decrypt(@RequestBody String data, @RequestHeader("Content-Type") MediaType type) { - return decrypt(this.properties.getDefaultApplicationName(), - this.properties.getDefaultProfile(), data, type); + return decrypt(this.defaultApplicationName, this.defaultProfile, data, type); } @RequestMapping(value = "/decrypt/{name}/{profiles}", method = RequestMethod.POST) @@ -162,9 +167,8 @@ public class EncryptionController { private void checkEncryptorInstalled(String name, String profiles) { if (this.encryptor == null - || this.encryptor - .locate(this.helper.getEncryptorKeys(name, profiles, "")) - .encrypt("FOO").equals("FOO")) { + || this.encryptor.locate(this.helper.getEncryptorKeys(name, profiles, "")) + .encrypt("FOO").equals("FOO")) { throw new KeyNotInstalledException(); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java similarity index 88% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java index 67c677f0..ad0fae0e 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/AbstractScmEnvironmentRepository.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.support.AbstractScmAccessor; import org.springframework.core.env.ConfigurableEnvironment; /** @@ -24,7 +25,7 @@ import org.springframework.core.env.ConfigurableEnvironment; * */ public abstract class AbstractScmEnvironmentRepository extends AbstractScmAccessor - implements EnvironmentRepository, ResourceLocationService { + implements EnvironmentRepository, SearchPathLocator { private EnvironmentCleaner cleaner = new EnvironmentCleaner(); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentCleaner.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java similarity index 93% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentCleaner.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java index 175d457a..c4506e87 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentCleaner.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentCleaner.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.environment.PropertySource; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java similarity index 96% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentController.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java index 7927e0eb..13b56070 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentController.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.io.IOException; import java.util.ArrayList; @@ -83,15 +83,12 @@ public class EnvironmentController { @RequestMapping("/{name}/{profiles:.*[^-].*}") public Environment defaultLabel(@PathVariable String name, @PathVariable String profiles) { - return labelled(name, profiles, this.repository.getDefaultLabel()); + return labelled(name, profiles, null); } @RequestMapping("/{name}/{profiles}/{label:.*}") public Environment labelled(@PathVariable String name, @PathVariable String profiles, @PathVariable String label) { - if (label == null) { - label = this.repository.getDefaultLabel(); - } if (label != null && label.contains("(_)")) { // "(_)" is uncommon in a git branch name, but "/" cannot be matched // by Spring MVC @@ -104,7 +101,7 @@ public class EnvironmentController { @RequestMapping("/{name}-{profiles}.properties") public ResponseEntity properties(@PathVariable String name, @PathVariable String profiles) throws IOException { - return labelledProperties(name, profiles, this.repository.getDefaultLabel()); + return labelledProperties(name, profiles, null); } @RequestMapping("/{label}/{name}-{profiles}.properties") @@ -120,7 +117,7 @@ public class EnvironmentController { @RequestMapping("{name}-{profiles}.json") public ResponseEntity> jsonProperties(@PathVariable String name, @PathVariable String profiles) throws Exception { - return labelledJsonProperties(name, profiles, this.repository.getDefaultLabel()); + return labelledJsonProperties(name, profiles, null); } @RequestMapping("/{label}/{name}-{profiles}.json") @@ -147,7 +144,7 @@ public class EnvironmentController { @RequestMapping({ "/{name}-{profiles}.yml", "/{name}-{profiles}.yaml" }) public ResponseEntity yaml(@PathVariable String name, @PathVariable String profiles) throws Exception { - return labelledYaml(name, profiles, this.repository.getDefaultLabel()); + return labelledYaml(name, profiles, null); } @RequestMapping({ "/{label}/{name}-{profiles}.yml", diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java similarity index 92% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java index da784687..f9d30f07 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.util.HashMap; import java.util.LinkedHashMap; @@ -48,16 +48,8 @@ public class EnvironmentEncryptorEnvironmentRepository implements EnvironmentRep this.environmentEncryptor = environmentEncryptor; } - @Override - public String getDefaultLabel() { - return this.delegate.getDefaultLabel(); - } - @Override public Environment findOne(String name, String profiles, String label) { - if (label == null) { - label = getDefaultLabel(); - } Environment environment = this.delegate.findOne(name, profiles, label); if (this.environmentEncryptor != null) { environment = this.environmentEncryptor.decrypt(environment); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java similarity index 91% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java index 29589696..5d43fcc8 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import org.springframework.cloud.config.environment.Environment; @@ -23,8 +23,6 @@ import org.springframework.cloud.config.environment.Environment; */ public interface EnvironmentRepository { - String getDefaultLabel(); - Environment findOne(String application, String profile, String label); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepositoryPropertySourceLocator.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java similarity index 97% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepositoryPropertySourceLocator.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java index cb995295..f4b2bb88 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/EnvironmentRepositoryPropertySourceLocator.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/EnvironmentRepositoryPropertySourceLocator.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.util.Map; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/JGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/JGitEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java index f9729e2c..923961e4 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/JGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.springframework.util.StringUtils.hasText; @@ -53,7 +53,7 @@ import com.jcraft.jsch.Session; * @author Roy Clarkson */ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository - implements EnvironmentRepository, ResourceLocationService, InitializingBean { + implements EnvironmentRepository, SearchPathLocator, InitializingBean { private static final String DEFAULT_LABEL = "master"; private static final String FILE_URI_PREFIX = "file:"; @@ -104,7 +104,6 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository this.gitFactory = gitFactory; } - @Override public String getDefaultLabel() { return this.defaultLabel; } @@ -115,6 +114,9 @@ public class JGitEnvironmentRepository extends AbstractScmEnvironmentRepository @Override public String[] getLocations(String application, String profile, String label) { + if (label==null) { + label = this.defaultLabel; + } refresh(application, label); return getSearchLocations(getWorkingDirectory()); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java index 5a09acea..16a5ad1a 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.util.ArrayList; import java.util.Collection; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NativeEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NativeEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java index 23f67c82..50a2e07d 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NativeEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.io.File; import java.util.ArrayList; @@ -48,7 +48,7 @@ import org.springframework.util.StringUtils; */ @ConfigurationProperties("spring.cloud.config.server.native") public class NativeEnvironmentRepository - implements EnvironmentRepository, ResourceLocationService { + implements EnvironmentRepository, SearchPathLocator { private static Log logger = LogFactory.getLog(NativeEnvironmentRepository.class); @@ -82,7 +82,6 @@ public class NativeEnvironmentRepository return this.failOnError; } - @Override public String getDefaultLabel() { return DEFAULT_LABEL; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchLabelException.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NoSuchLabelException.java similarity index 93% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchLabelException.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NoSuchLabelException.java index 4ff1aaf3..dcf3f8d2 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchLabelException.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NoSuchLabelException.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; /** * @author Dave Syer diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/PassthruEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java similarity index 90% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/PassthruEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java index 1590126e..ea5cea63 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/PassthruEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/PassthruEnvironmentRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.util.Arrays; import java.util.HashSet; @@ -54,7 +54,6 @@ public class PassthruEnvironmentRepository implements EnvironmentRepository { this.environment = environment; } - @Override public String getDefaultLabel() { return DEFAULT_LABEL; } @@ -62,9 +61,9 @@ public class PassthruEnvironmentRepository implements EnvironmentRepository { @Override public Environment findOne(String application, String env, String label) { Environment result = new Environment(application, StringUtils.commaDelimitedListToStringArray(env), label); - for (org.springframework.core.env.PropertySource source : environment.getPropertySources()) { + for (org.springframework.core.env.PropertySource source : this.environment.getPropertySources()) { String name = source.getName(); - if (!standardSources.contains(name) && source instanceof MapPropertySource) { + if (!this.standardSources.contains(name) && source instanceof MapPropertySource) { result.add(new PropertySource(name, (Map) source.getSource())); } } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/RepositoryException.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RepositoryException.java similarity index 92% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/RepositoryException.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RepositoryException.java index a1581327..71e2efa9 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/RepositoryException.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/RepositoryException.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; /** * @author Dave Syer diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceLocationService.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java similarity index 78% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceLocationService.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java index 306682db..fffdea03 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceLocationService.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SearchPathLocator.java @@ -14,13 +14,16 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; /** + * Strategy for locating a search path for resource (e.g. in the file system or + * classpath). + * * @author Dave Syer * */ -public interface ResourceLocationService { +public interface SearchPathLocator { String[] getLocations(String application, String profile, String label); diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SerializableMapPropertySource.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SerializableMapPropertySource.java similarity index 93% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SerializableMapPropertySource.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SerializableMapPropertySource.java index b244fed4..c4b2b614 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SerializableMapPropertySource.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SerializableMapPropertySource.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.util.Map; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SvnKitEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java similarity index 94% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SvnKitEnvironmentRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java index 59e82434..efef9766 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/SvnKitEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/SvnKitEnvironmentRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.springframework.util.StringUtils.hasText; @@ -50,7 +50,6 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor private String defaultLabel = DEFAULT_LABEL; - @Override public String getDefaultLabel() { return this.defaultLabel ; } @@ -61,6 +60,9 @@ public class SvnKitEnvironmentRepository extends AbstractScmEnvironmentRepositor @Override public String[] getLocations(String application, String profile, String label) { + if (label==null) { + label = this.defaultLabel; + } SvnOperationFactory svnOperationFactory = new SvnOperationFactory(); if (hasText(getUsername())) { svnOperationFactory diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/GenericResourceRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java similarity index 89% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/GenericResourceRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java index a8204bc9..6e2e01a1 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/GenericResourceRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/GenericResourceRepository.java @@ -14,20 +14,21 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; import java.io.IOException; import java.util.Collection; import java.util.LinkedHashSet; import java.util.Set; +import org.springframework.cloud.config.server.environment.SearchPathLocator; import org.springframework.context.ResourceLoaderAware; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.util.StringUtils; /** - * An {@link ResourceRepository} backed by a {@link ResourceLocationService}. + * An {@link ResourceRepository} backed by a {@link SearchPathLocator}. * * @author Dave Syer */ @@ -36,9 +37,9 @@ public class GenericResourceRepository private ResourceLoader resourceLoader; - private ResourceLocationService service; + private SearchPathLocator service; - public GenericResourceRepository(ResourceLocationService service) { + public GenericResourceRepository(SearchPathLocator service) { this.service = service; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchResourceException.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/NoSuchResourceException.java similarity index 93% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchResourceException.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/NoSuchResourceException.java index a70bb785..5cfcdaf6 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/NoSuchResourceException.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/NoSuchResourceException.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; /** * @author Dave Syer diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java similarity index 94% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceController.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java index cb580108..a803141f 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java @@ -14,13 +14,14 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; import java.io.IOException; import java.nio.charset.Charset; import java.util.Map; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; import org.springframework.core.env.PropertySource; import org.springframework.core.env.StandardEnvironment; import org.springframework.core.io.Resource; @@ -38,7 +39,7 @@ import org.springframework.web.bind.annotation.RestController; * repository. Can be used to supply config files for consumption by a wide variety of * applications and services. A {@link ResourceRepository} is used to locate a * {@link Resource}, specific to an application, and the contents are transformed to text. - * Then an {@link EnvironmentController} is used to supply key-value pairs which are used + * Then an {@link EnvironmentRepository} is used to supply key-value pairs which are used * to replace placeholders in the resource text. * * @author Dave Syer diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceRepository.java similarity index 93% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceRepository.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceRepository.java index dccb4c3d..77abdd0f 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ResourceRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; import org.springframework.core.io.Resource; diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmAccessor.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java similarity index 95% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmAccessor.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java index 01817f42..1572272a 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/AbstractScmAccessor.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/support/AbstractScmAccessor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.support; import java.io.File; import java.io.IOException; @@ -72,11 +72,11 @@ public class AbstractScmAccessor { } } - protected ConfigurableEnvironment getEnvironment() { + public ConfigurableEnvironment getEnvironment() { return this.environment; } - protected void setEnvironment(ConfigurableEnvironment environment) { + public void setEnvironment(ConfigurableEnvironment environment) { this.environment = environment; } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerTestUtils.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java similarity index 98% rename from spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerTestUtils.java rename to spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java index 9b5e5228..184aaec0 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/ConfigServerTestUtils.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/test/ConfigServerTestUtils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.test; import org.eclipse.jgit.util.FileUtils; import org.springframework.util.FileSystemUtils; diff --git a/spring-cloud-config-server/src/main/resources/META-INF/spring.factories b/spring-cloud-config-server/src/main/resources/META-INF/spring.factories index 88154389..2306bfd0 100644 --- a/spring-cloud-config-server/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-config-server/src/main/resources/META-INF/spring.factories @@ -1,10 +1,10 @@ # Bootstrap components org.springframework.cloud.bootstrap.BootstrapConfiguration=\ -org.springframework.cloud.config.server.ConfigServerBootstrapConfiguration +org.springframework.cloud.config.server.bootstrap.ConfigServerBootstrapConfiguration # Application listeners org.springframework.context.ApplicationListener=\ -org.springframework.cloud.config.server.ConfigServerBootstrapApplicationListener +org.springframework.cloud.config.server.bootstrap.ConfigServerBootstrapApplicationListener # Autoconfiguration org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java index 10471582..542b83db 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/BootstrapConfigServerIntegrationTests.java @@ -14,7 +14,7 @@ import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.ConfigServerApplication; -import org.springframework.cloud.config.server.ConfigServerTestUtils; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java index 3f1a8a1d..1b37e217 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOffIntegrationTests.java @@ -20,6 +20,9 @@ import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.client.ConfigServicePropertySourceLocator; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.ConfigClientOffIntegrationTests.TestConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.resource.ResourceRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java index 44bdb07b..9275c7b3 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigClientOnIntegrationTests.java @@ -20,6 +20,9 @@ import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.client.ConfigServicePropertySourceLocator; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.ConfigClientOnIntegrationTests.TestConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.resource.ResourceRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java index d39b3165..528bd943 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeConfigServerIntegrationTests.java @@ -15,7 +15,7 @@ import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.ConfigServerApplication; -import org.springframework.cloud.config.server.ConfigServerTestUtils; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.ActiveProfiles; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java index 080b3759..7946e98d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SubversionConfigServerIntegrationTests.java @@ -15,24 +15,25 @@ */ package org.springframework.cloud.config.server; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.environment.SvnKitEnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - /** * @author Michael Prankl * @author Dave Syer @@ -61,7 +62,7 @@ public class SubversionConfigServerIntegrationTests { @Test public void contextLoads() { Environment environment = new TestRestTemplate().getForObject("http://localhost:" - + port + "/foo/development/", Environment.class); + + this.port + "/foo/development/", Environment.class); assertFalse(environment.getPropertySources().isEmpty()); assertEquals("overrides", environment.getPropertySources().get(0).getName()); assertEquals("{spring.cloud.config.enabled=true}", environment @@ -70,7 +71,7 @@ public class SubversionConfigServerIntegrationTests { @Test public void defaultLabel() throws Exception { - EnvironmentRepository repository = context.getBean(EnvironmentRepository.class); + SvnKitEnvironmentRepository repository = this.context.getBean(SvnKitEnvironmentRepository.class); assertEquals("trunk", repository.getDefaultLabel()); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java index 3a5531ca..244996a3 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/VanillaConfigServerIntegrationTests.java @@ -14,7 +14,7 @@ import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.ConfigServerApplication; -import org.springframework.cloud.config.server.ConfigServerTestUtils; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerHealthIndicatorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java similarity index 84% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerHealthIndicatorTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java index cca8cfaf..58ce602c 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ConfigServerHealthIndicatorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/config/ConfigServerHealthIndicatorTests.java @@ -1,4 +1,4 @@ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.config; import static org.junit.Assert.*; import static org.mockito.Mockito.*; @@ -10,6 +10,8 @@ import org.mockito.Answers; import org.mockito.Mock; import org.springframework.boot.actuate.health.Status; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.config.ConfigServerHealthIndicator; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; /** * @author Spencer Gibb diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java index 6be3f1ce..1a030c32 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerMultiTextEncryptorTests.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertEquals; import static org.springframework.http.MediaType.TEXT_PLAIN; import org.junit.Test; -import org.springframework.cloud.config.server.ConfigServerProperties; import org.springframework.security.crypto.encrypt.Encryptors; /** @@ -14,9 +13,8 @@ import org.springframework.security.crypto.encrypt.Encryptors; public class EncryptionControllerMultiTextEncryptorTests { - ConfigServerProperties properties = new ConfigServerProperties(); EncryptionController controller = new EncryptionController( - new SingleTextEncryptorLocator(Encryptors.noOpText()), this.properties); + new SingleTextEncryptorLocator(Encryptors.noOpText())); String application = "application"; String profiles = "profile1,profile2"; @@ -25,8 +23,8 @@ public class EncryptionControllerMultiTextEncryptorTests { @Test public void shouldEncryptUsingApplicationAndProfiles() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - Encryptors.text("application", "11")), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(Encryptors.text("application", "11"))); // when String encrypted = this.controller.encrypt(this.application, this.profiles, diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java index 1e2f340a..488bce9d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/encryption/EncryptionControllerTests.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertTrue; import java.util.Map; import org.junit.Test; -import org.springframework.cloud.config.server.ConfigServerProperties; import org.springframework.http.MediaType; import org.springframework.security.crypto.encrypt.Encryptors; import org.springframework.security.crypto.encrypt.TextEncryptor; @@ -34,9 +33,8 @@ import org.springframework.security.rsa.crypto.RsaSecretEncryptor; */ public class EncryptionControllerTests { - private ConfigServerProperties properties = new ConfigServerProperties(); private EncryptionController controller = new EncryptionController( - new SingleTextEncryptorLocator(Encryptors.noOpText()), this.properties); + new SingleTextEncryptorLocator(Encryptors.noOpText())); @Test(expected = KeyNotInstalledException.class) public void cannotDecryptWithoutKey() { @@ -50,24 +48,24 @@ public class EncryptionControllerTests { @Test public void sunnyDayRsaKey() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - new RsaSecretEncryptor()), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(new RsaSecretEncryptor())); String cipher = this.controller.encrypt("foo", MediaType.TEXT_PLAIN); assertEquals("foo", this.controller.decrypt(cipher, MediaType.TEXT_PLAIN)); } @Test public void publicKey() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - new RsaSecretEncryptor()), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(new RsaSecretEncryptor())); String key = this.controller.getPublicKey(); assertTrue("Wrong key format: " + key, key.startsWith("ssh-rsa")); } @Test public void appAndProfile() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - new RsaSecretEncryptor()), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input String cipher = this.controller.encrypt("app", "default", "foo bar", MediaType.TEXT_PLAIN); @@ -78,8 +76,8 @@ public class EncryptionControllerTests { @Test public void formDataIn() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - new RsaSecretEncryptor()), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input String cipher = this.controller.encrypt("foo bar=", MediaType.APPLICATION_FORM_URLENCODED); @@ -90,8 +88,8 @@ public class EncryptionControllerTests { @Test public void formDataInWithPrefix() { - this.controller = new EncryptionController(new SingleTextEncryptorLocator( - new RsaSecretEncryptor()), this.properties); + this.controller = new EncryptionController( + new SingleTextEncryptorLocator(new RsaSecretEncryptor())); // Add space to input String cipher = this.controller.encrypt("{key:test}foo bar=", MediaType.APPLICATION_FORM_URLENCODED); @@ -111,7 +109,7 @@ public class EncryptionControllerTests { return this.encryptor; } }; - this.controller = new EncryptionController(locator, this.properties); + this.controller = new EncryptionController(locator); // Add space to input String cipher = this.controller.encrypt("app", "default", "foo bar", MediaType.TEXT_PLAIN); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java similarity index 89% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerIntegrationTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java index 4fe7fb95..ee8164d8 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import org.hamcrest.Matchers; import org.junit.Before; @@ -25,7 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.cloud.config.environment.Environment; -import org.springframework.cloud.config.server.EnvironmentControllerIntegrationTests.ControllerConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentControllerIntegrationTests.ControllerConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -56,26 +56,25 @@ public class EnvironmentControllerIntegrationTests { @Before public void init() { Mockito.reset(this.repository); - Mockito.when(this.repository.getDefaultLabel()).thenReturn("master"); this.mvc = MockMvcBuilders.webAppContextSetup(this.context).build(); } @Test public void environmentNoLabel() throws Exception { - Mockito.when(this.repository.findOne("foo", "default", "master")).thenReturn( + Mockito.when(this.repository.findOne("foo", "default", null)).thenReturn( new Environment("foo", "default")); this.mvc.perform(MockMvcRequestBuilders.get("/foo/default")).andExpect( MockMvcResultMatchers.status().isOk()); - Mockito.verify(this.repository).findOne("foo", "default", "master"); + Mockito.verify(this.repository).findOne("foo", "default", null); } @Test public void propertiesNoLabel() throws Exception { - Mockito.when(this.repository.findOne("foo", "default", "master")).thenReturn( + Mockito.when(this.repository.findOne("foo", "default", null)).thenReturn( new Environment("foo", "default")); this.mvc.perform(MockMvcRequestBuilders.get("/foo-default.properties")).andExpect( MockMvcResultMatchers.status().isOk()); - Mockito.verify(this.repository).findOne("foo", "default", "master"); + Mockito.verify(this.repository).findOne("foo", "default", null); } @Test @@ -129,7 +128,6 @@ public class EnvironmentControllerIntegrationTests { @Bean public EnvironmentRepository environmentRepository() { EnvironmentRepository repository = Mockito.mock(EnvironmentRepository.class); - Mockito.when(repository.getDefaultLabel()).thenReturn("master"); return repository; } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java similarity index 86% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java index cd6f02fe..aa1c6426 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentControllerTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -53,7 +53,6 @@ public class EnvironmentControllerTests { @Before public void init() { - Mockito.when(this.repository.getDefaultLabel()).thenReturn("master"); this.controller = new EnvironmentController(this.repository); } @@ -62,7 +61,7 @@ public class EnvironmentControllerTests { Map map = new HashMap(); map.put("a.b.c", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("a:\n b:\n c: d\n", yaml); } @@ -74,7 +73,7 @@ public class EnvironmentControllerTests { this.environment.add(new PropertySource("one", map)); this.environment.addFirst(new PropertySource("two", Collections.singletonMap("a.b.c", "e"))); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("a:\n b:\n c: e\n", yaml); } @@ -85,7 +84,7 @@ public class EnvironmentControllerTests { map.put("a.b[0]", "c"); map.put("a.b[1]", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("a:\n b:\n - c\n - d\n", yaml); } @@ -95,7 +94,7 @@ public class EnvironmentControllerTests { Map map = new LinkedHashMap(); map.put("document", "blah"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("blah\n", yaml); } @@ -106,7 +105,7 @@ public class EnvironmentControllerTests { map.put("document[0]", "c"); map.put("document[1]", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("- c\n- d\n", yaml); } @@ -117,7 +116,7 @@ public class EnvironmentControllerTests { map.put("document[0].a", "c"); map.put("document[1].a", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("- a: c\n- a: d\n", yaml); } @@ -129,7 +128,7 @@ public class EnvironmentControllerTests { map.put("a.b[0].d", "e"); map.put("a.b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertTrue("Wrong output: " + yaml, "a:\n b:\n - d: e\n c: d\n - c: d\n".equals(yaml) @@ -142,7 +141,7 @@ public class EnvironmentControllerTests { map.put("b[0].c", "d"); map.put("b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("b:\n- c: d\n- c: d\n", yaml); } @@ -153,14 +152,14 @@ public class EnvironmentControllerTests { map.put("x.a.b[0].c", "d"); map.put("x.a.b[1].c", "d"); this.environment.add(new PropertySource("one", map)); - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); String yaml = this.controller.yaml("foo", "bar").getBody(); assertEquals("x:\n a:\n b:\n - c: d\n - c: d\n", yaml); } @Test public void mappingForEnvironment() throws Exception { - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo/bar")).andExpect( MockMvcResultMatchers.status().isOk()); @@ -176,7 +175,7 @@ public class EnvironmentControllerTests { @Test public void mappingForYaml() throws Exception { - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.yml")) .andExpect( @@ -186,7 +185,7 @@ public class EnvironmentControllerTests { @Test public void mappingForJson() throws Exception { - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.json")) .andExpect( @@ -214,7 +213,7 @@ public class EnvironmentControllerTests { @Test public void mappingForProperties() throws Exception { - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.properties")).andExpect( MockMvcResultMatchers.content().contentType(MediaType.TEXT_PLAIN)); @@ -239,7 +238,7 @@ public class EnvironmentControllerTests { @Test public void mappingforJsonProperties() throws Exception { - Mockito.when(this.repository.findOne("foo", "bar", "master")).thenReturn(this.environment); + Mockito.when(this.repository.findOne("foo", "bar", null)).thenReturn(this.environment); MockMvc mvc = MockMvcBuilders.standaloneSetup(this.controller).build(); mvc.perform(MockMvcRequestBuilders.get("/foo-bar.json")).andExpect( MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON)); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java similarity index 95% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java index fc918ab1..6d58f23f 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/EnvironmentEncryptorEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/EnvironmentEncryptorEnvironmentRepositoryTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; @@ -46,7 +46,6 @@ public class EnvironmentEncryptorEnvironmentRepositoryTests { @Before public void init() { - Mockito.when(this.repository.getDefaultLabel()).thenReturn("master"); this.controller = new EnvironmentEncryptorEnvironmentRepository(this.repository); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryConcurrencyTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java similarity index 93% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryConcurrencyTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java index 3eaf5bd1..3e0773be 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryConcurrencyTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryConcurrencyTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -34,6 +34,8 @@ import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfigurati import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java similarity index 97% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryIntegrationTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java index e1db550a..c1f2738d 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; @@ -34,6 +34,7 @@ import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfigurati import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -122,8 +123,8 @@ public class JGitEnvironmentRepositoryIntegrationTests { String uri = ConfigServerTestUtils.prepareLocalRepo(); this.context = new SpringApplicationBuilder(TestConfiguration.class).web(false) .properties("spring.cloud.config.server.git.uri:" + uri).run(); - EnvironmentRepository repository = this.context - .getBean(EnvironmentRepository.class); + JGitEnvironmentRepository repository = this.context + .getBean(JGitEnvironmentRepository.class); assertEquals("master", repository.getDefaultLabel()); } diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java similarity index 97% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java index 7f29b7b5..3c595887 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/JGitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/JGitEnvironmentRepositoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -34,6 +34,8 @@ import org.eclipse.jgit.util.FileUtils; import org.junit.Before; import org.junit.Test; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.environment.JGitEnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.core.env.StandardEnvironment; /** diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java similarity index 97% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryIntegrationTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java index 20d3c312..4c5cecd8 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; @@ -31,6 +31,8 @@ import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfigurati import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.config.environment.Environment; import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; +import org.springframework.cloud.config.server.environment.EnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java similarity index 92% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java index 236ce0da..f56ef3b4 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/MultipleJGitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/MultipleJGitEnvironmentRepositoryTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; @@ -24,9 +24,9 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; import org.springframework.cloud.config.environment.Environment; -import org.springframework.cloud.config.server.ConfigServerTestUtils; -import org.springframework.cloud.config.server.MultipleJGitEnvironmentRepository; -import org.springframework.cloud.config.server.MultipleJGitEnvironmentRepository.PatternMatchingJGitEnvironmentRepository; +import org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository; +import org.springframework.cloud.config.server.environment.MultipleJGitEnvironmentRepository.PatternMatchingJGitEnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.core.env.StandardEnvironment; /** diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java similarity index 94% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeEnvironmentRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java index 6f431d21..ba055570 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/NativeEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import static org.junit.Assert.assertEquals; @@ -21,6 +21,7 @@ import org.junit.Before; import org.junit.Test; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepository; import org.springframework.context.ConfigurableApplicationContext; /** diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryIntegrationTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java similarity index 80% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryIntegrationTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java index c59c03b8..471f1da1 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryIntegrationTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryIntegrationTests.java @@ -14,7 +14,9 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; + +import static org.junit.Assert.assertEquals; import java.io.File; import java.io.FileNotFoundException; @@ -25,23 +27,22 @@ import java.nio.charset.Charset; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.util.FileSystemUtils; +import org.springframework.util.StreamUtils; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.wc2.SvnCheckout; import org.tmatesoft.svn.core.wc2.SvnCommit; import org.tmatesoft.svn.core.wc2.SvnOperationFactory; import org.tmatesoft.svn.core.wc2.SvnTarget; -import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.config.environment.Environment; -import org.springframework.cloud.config.server.config.EnvironmentRepositoryConfiguration; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; -import org.springframework.util.FileSystemUtils; -import org.springframework.util.StreamUtils; - -import static org.junit.Assert.assertEquals; /** * @author Michael Prankl @@ -55,16 +56,16 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { @Before public void init() { - workingDir = new File("target/repos/svn-config-repo-update"); - if (workingDir.exists()) { - FileSystemUtils.deleteRecursively(workingDir); + this.workingDir = new File("target/repos/svn-config-repo-update"); + if (this.workingDir.exists()) { + FileSystemUtils.deleteRecursively(this.workingDir); } } @After public void close() { - if (context != null) { - context.close(); + if (this.context != null) { + this.context.close(); } } @@ -72,10 +73,10 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { public void vanilla() throws Exception { String uri = ConfigServerTestUtils.prepareLocalSvnRepo( "src/test/resources/svn-config-repo", "target/config"); - context = new SpringApplicationBuilder(TestConfiguration.class).web(false) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(false) .profiles("subversion") .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = context.getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); repository.findOne("bar", "staging", "trunk"); Environment environment = repository.findOne("bar", "staging", "trunk"); assertEquals(2, environment.getPropertySources().size()); @@ -85,10 +86,10 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { public void update() throws Exception { String uri = ConfigServerTestUtils.prepareLocalSvnRepo( "src/test/resources/svn-config-repo", "target/config"); - context = new SpringApplicationBuilder(TestConfiguration.class).web(false) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(false) .profiles("subversion") .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = context.getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); repository.findOne("bar", "staging", "trunk"); Environment environment = repository.findOne("bar", "staging", "trunk"); assertEquals("bar", environment.getPropertySources().get(0).getSource() @@ -104,11 +105,11 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { SvnOperationFactory svnFactory = new SvnOperationFactory(); final SvnCheckout checkout = svnFactory.createCheckout(); checkout.setSource(SvnTarget.fromURL(SVNURL.parseURIEncoded(uri))); - checkout.setSingleTarget(SvnTarget.fromFile(workingDir)); + checkout.setSingleTarget(SvnTarget.fromFile(this.workingDir)); checkout.run(); // update bar.properties - File barProps = new File(workingDir, "trunk/bar.properties"); + File barProps = new File(this.workingDir, "trunk/bar.properties"); StreamUtils.copy("foo: foo", Charset.defaultCharset(), new FileOutputStream( barProps)); // commit to repo @@ -122,10 +123,10 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { public void defaultLabel() throws Exception { String uri = ConfigServerTestUtils.prepareLocalSvnRepo( "src/test/resources/svn-config-repo", "target/config"); - context = new SpringApplicationBuilder(TestConfiguration.class).web(false) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(false) .profiles("subversion") .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = context.getBean(EnvironmentRepository.class); + SvnKitEnvironmentRepository repository = this.context.getBean(SvnKitEnvironmentRepository.class); assertEquals("trunk", repository.getDefaultLabel()); } @@ -133,10 +134,10 @@ public class SVNKitEnvironmentRepositoryIntegrationTests { public void invalidLabel() throws Exception { String uri = ConfigServerTestUtils.prepareLocalSvnRepo( "src/test/resources/svn-config-repo", "target/config"); - context = new SpringApplicationBuilder(TestConfiguration.class).web(false) + this.context = new SpringApplicationBuilder(TestConfiguration.class).web(false) .profiles("subversion") .run("--spring.cloud.config.server.svn.uri=" + uri); - EnvironmentRepository repository = context.getBean(EnvironmentRepository.class); + EnvironmentRepository repository = this.context.getBean(EnvironmentRepository.class); repository.findOne("bar", "staging", "unknownlabel"); Environment environment = repository.findOne("bar", "staging", "unknownlabel"); assertEquals(0, environment.getPropertySources().size()); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java similarity index 91% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java index bd2429a0..a6ff7e4e 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/SVNKitEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/SVNKitEnvironmentRepositoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.environment; import java.io.File; @@ -23,6 +23,9 @@ import org.junit.Before; import org.junit.Test; import org.springframework.cloud.config.environment.Environment; +import org.springframework.cloud.config.server.environment.NoSuchLabelException; +import org.springframework.cloud.config.server.environment.SvnKitEnvironmentRepository; +import org.springframework.cloud.config.server.test.ConfigServerTestUtils; import org.springframework.core.env.StandardEnvironment; import static org.junit.Assert.assertEquals; diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/GenericResourceRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java similarity index 82% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/GenericResourceRepositoryTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java index d8c1299b..2f2ff9f4 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/GenericResourceRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/GenericResourceRepositoryTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; import static org.junit.Assert.assertNotNull; @@ -22,6 +22,10 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepository; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepositoryTests; +import org.springframework.cloud.config.server.resource.GenericResourceRepository; +import org.springframework.cloud.config.server.resource.NoSuchResourceException; import org.springframework.context.ConfigurableApplicationContext; /** diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ResourceControllerTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java similarity index 85% rename from spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ResourceControllerTests.java rename to spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java index e0d4f8b8..76fefec4 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/ResourceControllerTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/resource/ResourceControllerTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.config.server; +package org.springframework.cloud.config.server.resource; import static org.junit.Assert.assertEquals; @@ -22,6 +22,10 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepository; +import org.springframework.cloud.config.server.environment.NativeEnvironmentRepositoryTests; +import org.springframework.cloud.config.server.resource.GenericResourceRepository; +import org.springframework.cloud.config.server.resource.ResourceController; import org.springframework.context.ConfigurableApplicationContext; /**