public InitializrMetadata() { this(new InitializrConfiguration()); }
/** * Create an empty builder instance with a default {@link InitializrConfiguration}. * @return a new {@link InitializrMetadataBuilder} instance */ public static InitializrMetadataBuilder create() { return new InitializrMetadataBuilder(new InitializrConfiguration()); }
/** * Build a {@link InitializrMetadata} based on the state of this builder. * @return a new {@link InitializrMetadata} instance */ public InitializrMetadata build() { InitializrConfiguration config = (this.configuration != null) ? this.configuration : new InitializrConfiguration(); InitializrMetadata metadata = createInstance(config); for (InitializrMetadataCustomizer customizer : this.customizers) { customizer.customize(metadata); } applyDefaults(metadata); metadata.validate(); return metadata; }
@Test void mergeConfiguration() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties customDefaultsConfig = load( new ClassPathResource("application-test-custom-env.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig, true).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.getArtifactRepository()) .isEqualTo("https://repo.spring.io/lib-release/"); assertThat(actualEnv.getSpringBootMetadataUrl()) .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); assertThat(actualEnv.getFallbackApplicationName()).isEqualTo("FooBarApplication"); assertThat(actualEnv.isForceSsl()).isEqualTo(false); assertThat(actualEnv.getKotlin().getDefaultVersion()) .isEqualTo("1.0.0-beta-2423"); }
@Test void mergeSslConfiguration() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties forceSslConfig = load( new ClassPathResource("application-test-ssl.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(forceSslConfig, true).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.isForceSsl()).isEqualTo(true); }
@Test void mergeConfigurationDisabledByDefault() { InitializrProperties config = load( new ClassPathResource("application-test-default.yml")); InitializrProperties customDefaultsConfig = load( new ClassPathResource("application-test-custom-env.yml")); InitializrMetadata metadata = InitializrMetadataBuilder .fromInitializrProperties(config) .withInitializrProperties(customDefaultsConfig).build(); InitializrConfiguration.Env defaultEnv = new InitializrConfiguration().getEnv(); InitializrConfiguration.Env actualEnv = metadata.getConfiguration().getEnv(); assertThat(actualEnv.getArtifactRepository()) .isEqualTo(defaultEnv.getArtifactRepository()); assertThat(actualEnv.getSpringBootMetadataUrl()) .isEqualTo(defaultEnv.getSpringBootMetadataUrl()); assertThat(actualEnv.getFallbackApplicationName()) .isEqualTo(defaultEnv.getFallbackApplicationName()); assertThat(actualEnv.isForceSsl()).isEqualTo(defaultEnv.isForceSsl()); }