diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthMvcEndpointAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthMvcEndpointAutoConfigurationTests.java index 5f4a916a1a..7e0e4b95d4 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthMvcEndpointAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/HealthMvcEndpointAutoConfigurationTests.java @@ -108,7 +108,8 @@ public class HealthMvcEndpointAutoConfigurationTests { public void endpointConditionalOnMissingBean() throws Exception { this.context = new AnnotationConfigWebApplicationContext(); this.context.setServletContext(new MockServletContext()); - this.context.register(TestConfiguration.class, TestHealthMvcEndpointConfiguration.class); + this.context.register(TestConfiguration.class, + TestHealthMvcEndpointConfiguration.class); this.context.refresh(); MockHttpServletRequest request = new MockHttpServletRequest(); Health health = (Health) this.context.getBean(HealthMvcEndpoint.class) @@ -141,6 +142,7 @@ public class HealthMvcEndpointAutoConfigurationTests { public HealthMvcEndpoint endpoint(HealthEndpoint endpoint) { return new TestHealthMvcEndpoint(endpoint); } + } static class TestHealthMvcEndpoint extends HealthMvcEndpoint { @@ -150,9 +152,11 @@ public class HealthMvcEndpointAutoConfigurationTests { } @Override - protected boolean exposeHealthDetails(HttpServletRequest request, Principal principal) { + protected boolean exposeHealthDetails(HttpServletRequest request, + Principal principal) { return true; } + } static class TestHealthIndicator extends AbstractHealthIndicator { diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerTemplateAvailabilityProvider.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerTemplateAvailabilityProvider.java index 041e0ebff1..55849cf9ce 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerTemplateAvailabilityProvider.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/freemarker/FreeMarkerTemplateAvailabilityProvider.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.springframework.boot.autoconfigure.template.AbstractTemplateAvailabilityProvider; +import org.springframework.boot.autoconfigure.template.PathBasedTemplateAvailabilityProvider; import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider; /** @@ -31,7 +31,7 @@ import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvi * @since 1.1.0 */ public class FreeMarkerTemplateAvailabilityProvider - extends AbstractTemplateAvailabilityProvider { + extends PathBasedTemplateAvailabilityProvider { public FreeMarkerTemplateAvailabilityProvider() { super("freemarker.template.Configuration", diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAvailabilityProvider.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAvailabilityProvider.java index 9039eea10f..fbc55fe7f5 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAvailabilityProvider.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/groovy/template/GroovyTemplateAvailabilityProvider.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.springframework.boot.autoconfigure.template.AbstractTemplateAvailabilityProvider; +import org.springframework.boot.autoconfigure.template.PathBasedTemplateAvailabilityProvider; import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider; /** @@ -31,7 +31,7 @@ import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvi * @since 1.1.0 */ public class GroovyTemplateAvailabilityProvider - extends AbstractTemplateAvailabilityProvider { + extends PathBasedTemplateAvailabilityProvider { public GroovyTemplateAvailabilityProvider() { super("groovy.text.TemplateEngine", GroovyTemplateAvailabilityProperties.class, diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractTemplateAvailabilityProvider.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/PathBasedTemplateAvailabilityProvider.java similarity index 94% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractTemplateAvailabilityProvider.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/PathBasedTemplateAvailabilityProvider.java index 52134122c0..5079b660ec 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/AbstractTemplateAvailabilityProvider.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/template/PathBasedTemplateAvailabilityProvider.java @@ -27,13 +27,14 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.util.ClassUtils; /** - * Abstract base class for {@link TemplateAvailabilityProvider} implementations. + * Abstract base class for {@link TemplateAvailabilityProvider} implementations that find + * templates from paths. * * @author Andy Wilkinson * @author Phillip Webb * @since 1.4.6 */ -public abstract class AbstractTemplateAvailabilityProvider +public abstract class PathBasedTemplateAvailabilityProvider implements TemplateAvailabilityProvider { private final String className; @@ -42,7 +43,7 @@ public abstract class AbstractTemplateAvailabilityProvider private final String propertyPrefix; - public AbstractTemplateAvailabilityProvider(String className, + public PathBasedTemplateAvailabilityProvider(String className, Class propertiesClass, String propertyPrefix) { this.className = className; diff --git a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/ExampleJsonObjectWithView.java b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/ExampleJsonObjectWithView.java index 7bc564494d..25ae8ea9a3 100644 --- a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/ExampleJsonObjectWithView.java +++ b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/ExampleJsonObjectWithView.java @@ -73,4 +73,3 @@ public class ExampleJsonObjectWithView { } } - diff --git a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/JsonTestIntegrationTests.java b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/JsonTestIntegrationTests.java index 0448e6c392..35aeb19aa0 100644 --- a/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/JsonTestIntegrationTests.java +++ b/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/json/JsonTestIntegrationTests.java @@ -32,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; * Integration tests for {@link JsonTest}. * * @author Phillip Webb + * @author Madhura Bhave */ @RunWith(SpringRunner.class) @JsonTest @@ -82,9 +83,9 @@ public class JsonTestIntegrationTests { ExampleJsonObjectWithView object = new ExampleJsonObjectWithView(); object.setValue("spring"); JsonContent content = this.jacksonWithViewJson - .forView(ExampleJsonObjectWithView.TestView.class) - .write(object); + .forView(ExampleJsonObjectWithView.TestView.class).write(object); assertThat(content).doesNotHaveJsonPathValue("id"); assertThat(content).isEqualToJson("example.json"); } + } diff --git a/spring-boot-test/src/main/java/org/springframework/boot/test/json/AbstractJsonMarshalTester.java b/spring-boot-test/src/main/java/org/springframework/boot/test/json/AbstractJsonMarshalTester.java index 01faaab10c..dd528babf7 100644 --- a/spring-boot-test/src/main/java/org/springframework/boot/test/json/AbstractJsonMarshalTester.java +++ b/spring-boot-test/src/main/java/org/springframework/boot/test/json/AbstractJsonMarshalTester.java @@ -113,6 +113,10 @@ public abstract class AbstractJsonMarshalTester { return this.type; } + /** + * Return class used to load relative resources. + * @return the resource load class + */ protected final Class getResourceLoadClass() { return this.resourceLoadClass; } diff --git a/spring-boot-test/src/main/java/org/springframework/boot/test/json/JacksonTester.java b/spring-boot-test/src/main/java/org/springframework/boot/test/json/JacksonTester.java index 485083179f..91c79a1e5a 100644 --- a/spring-boot-test/src/main/java/org/springframework/boot/test/json/JacksonTester.java +++ b/spring-boot-test/src/main/java/org/springframework/boot/test/json/JacksonTester.java @@ -152,13 +152,14 @@ public class JacksonTester extends AbstractJsonMarshalTester { } /** - * Returns a new instance of {@link JacksonTester} with the view - * that should be used for json serialization/deserialization. + * Returns a new instance of {@link JacksonTester} with the view that should be used + * for json serialization/deserialization. * @param view the view class * @return the new instance */ public JacksonTester forView(Class view) { - return new JacksonTester(this.getResourceLoadClass(), this.getType(), this.objectMapper, view); + return new JacksonTester(this.getResourceLoadClass(), this.getType(), + this.objectMapper, view); } /** diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/json/ExampleObject.java b/spring-boot-test/src/test/java/org/springframework/boot/test/json/ExampleObject.java index 5c8d45e18b..9ad5a00d49 100644 --- a/spring-boot-test/src/test/java/org/springframework/boot/test/json/ExampleObject.java +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/json/ExampleObject.java @@ -64,4 +64,3 @@ public class ExampleObject { } } - diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/json/JacksonTesterIntegrationTests.java b/spring-boot-test/src/test/java/org/springframework/boot/test/json/JacksonTesterIntegrationTests.java index a3bb406cbf..1d0f04bd98 100644 --- a/spring-boot-test/src/test/java/org/springframework/boot/test/json/JacksonTesterIntegrationTests.java +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/json/JacksonTesterIntegrationTests.java @@ -35,6 +35,7 @@ import static org.assertj.core.api.Assertions.assertThat; * Integration tests for {@link JacksonTester}. Shows typical usage. * * @author Phillip Webb + * @author Madhura Bhave */ public class JacksonTesterIntegrationTests { @@ -56,6 +57,13 @@ public class JacksonTesterIntegrationTests { JacksonTester.initFields(this, this.objectMapper); } + @Test + public void typicalTest() throws Exception { + String example = JSON; + assertThat(this.simpleJson.parse(example).getObject().getName()) + .isEqualTo("Spring"); + } + @Test public void typicalListTest() throws Exception { String example = "[" + JSON + "]"; @@ -79,10 +87,9 @@ public class JacksonTesterIntegrationTests { ExampleObjectWithView object = new ExampleObjectWithView(); object.setName("Spring"); object.setAge(123); - JsonContent content = this.jsonWithView.forView( - ExampleObjectWithView.TestView.class).write(object); - assertThat(content).extractingJsonPathStringValue("@.name") - .isEqualTo("Spring"); + JsonContent content = this.jsonWithView + .forView(ExampleObjectWithView.TestView.class).write(object); + assertThat(content).extractingJsonPathStringValue("@.name").isEqualTo("Spring"); assertThat(content).doesNotHaveJsonPathValue("age"); } @@ -90,10 +97,9 @@ public class JacksonTesterIntegrationTests { public void readWithResourceAndView() throws Exception { this.objectMapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION); ByteArrayResource resource = new ByteArrayResource(JSON.getBytes()); - ObjectContent content = this.jsonWithView.forView( - ExampleObjectWithView.TestView.class).read(resource); - assertThat(content.getObject().getName()) - .isEqualTo("Spring"); + ObjectContent content = this.jsonWithView + .forView(ExampleObjectWithView.TestView.class).read(resource); + assertThat(content.getObject().getName()).isEqualTo("Spring"); assertThat(content.getObject().getAge()).isEqualTo(0); } @@ -101,10 +107,9 @@ public class JacksonTesterIntegrationTests { public void readWithReaderAndView() throws Exception { this.objectMapper.disable(MapperFeature.DEFAULT_VIEW_INCLUSION); Reader reader = new StringReader(JSON); - ObjectContent content = this.jsonWithView.forView( - ExampleObjectWithView.TestView.class).read(reader); - assertThat(content.getObject().getName()) - .isEqualTo("Spring"); + ObjectContent content = this.jsonWithView + .forView(ExampleObjectWithView.TestView.class).read(reader); + assertThat(content.getObject().getName()).isEqualTo("Spring"); assertThat(content.getObject().getAge()).isEqualTo(0); } diff --git a/spring-boot/src/main/java/org/springframework/boot/admin/SpringApplicationAdminMXBean.java b/spring-boot/src/main/java/org/springframework/boot/admin/SpringApplicationAdminMXBean.java index 992c27d7ef..7fc93489d0 100644 --- a/spring-boot/src/main/java/org/springframework/boot/admin/SpringApplicationAdminMXBean.java +++ b/spring-boot/src/main/java/org/springframework/boot/admin/SpringApplicationAdminMXBean.java @@ -33,9 +33,9 @@ public interface SpringApplicationAdminMXBean { boolean isReady(); /** - * Specify if the application runs in an embedded web container. Return - * {@code false} on a web application that hasn't fully started yet, so it is - * preferable to wait for the application to be {@link #isReady() ready}. + * Specify if the application runs in an embedded web container. Return {@code false} + * on a web application that hasn't fully started yet, so it is preferable to wait for + * the application to be {@link #isReady() ready}. * @return {@code true} if the application runs in an embedded web container * @see #isReady() */