diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/DataSourcePublicMetrics.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/DataSourcePublicMetrics.java index b022fec7bf..43530f7ef6 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/DataSourcePublicMetrics.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/DataSourcePublicMetrics.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfigurationTests.java index 5fdca7515a..24cc15bf01 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/PublicMetricsAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcBootConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcBootConfiguration.java index 4e7f5ad8ba..3997261947 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcBootConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcBootConfiguration.java @@ -16,8 +16,6 @@ package org.springframework.boot.autoconfigure.data.rest; -import com.fasterxml.jackson.databind.ObjectMapper; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -26,10 +24,11 @@ import org.springframework.data.rest.core.config.RepositoryRestConfiguration; import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; +import com.fasterxml.jackson.databind.ObjectMapper; + /** - * A specialized {@link RepositoryRestMvcConfiguration} that applies configuration - * items from the {@code spring.data.rest} namespace. Also configure Jackson if it's - * available + * A specialized {@link RepositoryRestMvcConfiguration} that applies configuration items + * from the {@code spring.data.rest} namespace. Also configures Jackson if it's available *
* Favor an extension of this class instead of extending directly from * {@link RepositoryRestMvcConfiguration}. @@ -38,8 +37,7 @@ import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; * @since 1.2.2 */ @Configuration -public class RepositoryRestMvcBootConfiguration extends - RepositoryRestMvcConfiguration { +public class RepositoryRestMvcBootConfiguration extends RepositoryRestMvcConfiguration { @Autowired(required = false) private Jackson2ObjectMapperBuilder objectMapperBuilder; diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java index f4e4f9e456..c5ebc97dc1 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration.java @@ -117,16 +117,22 @@ public class JacksonAutoConfiguration { @Bean public Module jodaDateTimeSerializationModule() { SimpleModule module = new SimpleModule(); + JacksonJodaFormat jacksonJodaFormat = getJacksonJodaFormat(); + if (jacksonJodaFormat != null) { + module.addSerializer(DateTime.class, new DateTimeSerializer( + jacksonJodaFormat)); + } + return module; + } - JacksonJodaFormat jacksonJodaFormat = null; - + private JacksonJodaFormat getJacksonJodaFormat() { if (this.jacksonProperties.getJodaDateTimeFormat() != null) { - jacksonJodaFormat = new JacksonJodaFormat(DateTimeFormat.forPattern( + return new JacksonJodaFormat(DateTimeFormat.forPattern( this.jacksonProperties.getJodaDateTimeFormat()).withZoneUTC()); } - else if (this.jacksonProperties.getDateFormat() != null) { + if (this.jacksonProperties.getDateFormat() != null) { try { - jacksonJodaFormat = new JacksonJodaFormat(DateTimeFormat.forPattern( + return new JacksonJodaFormat(DateTimeFormat.forPattern( this.jacksonProperties.getDateFormat()).withZoneUTC()); } catch (IllegalArgumentException ex) { @@ -138,14 +144,9 @@ public class JacksonAutoConfiguration { } } } - - if (jacksonJodaFormat != null) { - module.addSerializer(DateTime.class, new DateTimeSerializer( - jacksonJodaFormat)); - } - - return module; + return null; } + } @Configuration diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java index dbdaa1b493..96fdc15214 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jackson/JacksonProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.java index 631bad98ea..0bd3b5b91c 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java index 52d009814c..01e42efc4b 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/rest/RepositoryRestMvcAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfigurationTests.java index 2373924848..6a61f04064 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 the original author or authors. + * Copyright 2012-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/InitializrService.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/InitializrService.java index 9c0d1aa34d..27ebbe2a0c 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/InitializrService.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/InitializrService.java @@ -51,15 +51,15 @@ class InitializrService { /** * Accept header to use to retrieve the json meta-data. */ - public static final String ACCEPT_META_DATA = - "application/vnd.initializr.v2.1+json,application/vnd.initializr.v2+json"; + public static final String ACCEPT_META_DATA = "application/vnd.initializr.v2.1+" + + "json,application/vnd.initializr.v2+json"; /** * Accept header to use to retrieve the service capabilities of the service. If the * service does not offer such feature, the json meta-data are retrieved instead. */ - public static final String ACCEPT_SERVICE_CAPABILITIES = - "text/plain," + ACCEPT_META_DATA; + public static final String ACCEPT_SERVICE_CAPABILITIES = "text/plain," + + ACCEPT_META_DATA; /** * Late binding HTTP client. @@ -110,27 +110,29 @@ class InitializrService { } /** - * Loads the service capabilities of the service at the specified url. - *
If the service supports generating a textual representation of the
- * capabilities, it is returned. Otherwhise the json meta-data as a
- * {@link JSONObject} is returned.
+ * Loads the service capabilities of the service at the specified URL. If the service
+ * supports generating a textual representation of the capabilities, it is returned,
+ * otherwise {@link InitializrServiceMetadata} is returned.
* @param serviceUrl to url of the initializer service
- * @return the service capabilities (as a String) or the metadata describing the service
+ * @return the service capabilities (as a String) or the
+ * {@link InitializrServiceMetadata} describing the service
* @throws IOException if the service capabilities cannot be loaded
*/
- public Object loadServiceCapabilities(String serviceUrl) throws IOException {
- CloseableHttpResponse httpResponse = executeServiceCapabilitiesRetrieval(serviceUrl);
+ public Object loadServiceCapabilities(String serviceUrl) throws IOException {
+ HttpGet request = new HttpGet(serviceUrl);
+ request.setHeader(new BasicHeader(HttpHeaders.ACCEPT, ACCEPT_SERVICE_CAPABILITIES));
+ CloseableHttpResponse httpResponse = execute(request, serviceUrl, "retrieve help");
validateResponse(httpResponse, serviceUrl);
HttpEntity httpEntity = httpResponse.getEntity();
ContentType contentType = ContentType.getOrDefault(httpEntity);
if (contentType.getMimeType().equals("text/plain")) {
- return getContent(httpEntity);
- } else {
- return parseJsonMetadata(httpEntity);
+ return getContent(httpEntity);
}
+ return parseJsonMetadata(httpEntity);
}
- private InitializrServiceMetadata parseJsonMetadata(HttpEntity httpEntity) throws IOException {
+ private InitializrServiceMetadata parseJsonMetadata(HttpEntity httpEntity)
+ throws IOException {
try {
return new InitializrServiceMetadata(getContentAsJson(httpEntity));
}
@@ -179,15 +181,6 @@ class InitializrService {
return execute(request, url, "retrieve metadata");
}
- /**
- * Retrieves the service capabilities of the service at the specified URL
- */
- private CloseableHttpResponse executeServiceCapabilitiesRetrieval(String url) {
- HttpGet request = new HttpGet(url);
- request.setHeader(new BasicHeader(HttpHeaders.ACCEPT, ACCEPT_SERVICE_CAPABILITIES));
- return execute(request, url, "retrieve help");
- }
-
private CloseableHttpResponse execute(HttpUriRequest request, Object url,
String description) {
try {
diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/ServiceCapabilitiesReportGenerator.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/ServiceCapabilitiesReportGenerator.java
index 02e2f52ee7..3b695b48bc 100644
--- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/ServiceCapabilitiesReportGenerator.java
+++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/ServiceCapabilitiesReportGenerator.java
@@ -48,7 +48,7 @@ class ServiceCapabilitiesReportGenerator {
/**
* Generate a report for the specified service. The report contains the available
- * capabilities as advertized by the root endpoint.
+ * capabilities as advertised by the root endpoint.
* @param url the url of the service
* @return the report that describes the service
* @throws IOException if the report cannot be generated
@@ -57,9 +57,8 @@ class ServiceCapabilitiesReportGenerator {
Object content = this.initializrService.loadServiceCapabilities(url);
if (content instanceof InitializrServiceMetadata) {
return generateHelp(url, (InitializrServiceMetadata) content);
- } else {
- return content.toString();
}
+ return content.toString();
}
private String generateHelp(String url, InitializrServiceMetadata metadata) {
diff --git a/spring-boot-cli/src/test/java/org/springframework/boot/cli/command/init/AbstractHttpClientMockTests.java b/spring-boot-cli/src/test/java/org/springframework/boot/cli/command/init/AbstractHttpClientMockTests.java
index 8731e0a109..e47260fe71 100644
--- a/spring-boot-cli/src/test/java/org/springframework/boot/cli/command/init/AbstractHttpClientMockTests.java
+++ b/spring-boot-cli/src/test/java/org/springframework/boot/cli/command/init/AbstractHttpClientMockTests.java
@@ -49,15 +49,18 @@ public abstract class AbstractHttpClientMockTests {
protected final CloseableHttpClient http = mock(CloseableHttpClient.class);
protected void mockSuccessfulMetadataTextGet() throws IOException {
- mockSuccessfulMetadataGet("metadata/service-metadata-2.1.0.txt", "text/plain", true);
+ mockSuccessfulMetadataGet("metadata/service-metadata-2.1.0.txt", "text/plain",
+ true);
}
- protected void mockSuccessfulMetadataGet(boolean serviceCapabilities) throws IOException {
+ protected void mockSuccessfulMetadataGet(boolean serviceCapabilities)
+ throws IOException {
mockSuccessfulMetadataGet("metadata/service-metadata-2.1.0.json",
"application/vnd.initializr.v2.1+json", serviceCapabilities);
}
- protected void mockSuccessfulMetadataGetV2(boolean serviceCapabilities) throws IOException {
+ protected void mockSuccessfulMetadataGetV2(boolean serviceCapabilities)
+ throws IOException {
mockSuccessfulMetadataGet("metadata/service-metadata-2.0.0.json",
"application/vnd.initializr.v2+json", serviceCapabilities);
}
@@ -68,7 +71,8 @@ public abstract class AbstractHttpClientMockTests {
byte[] content = readClasspathResource(contentPath);
mockHttpEntity(response, content, contentType);
mockStatus(response, 200);
- given(this.http.execute(argThat(getForMetadata(serviceCapabilities)))).willReturn(response);
+ given(this.http.execute(argThat(getForMetadata(serviceCapabilities))))
+ .willReturn(response);
}
protected byte[] readClasspathResource(String contentPath) throws IOException {
@@ -137,12 +141,10 @@ public abstract class AbstractHttpClientMockTests {
}
private Matcher