Commit 8b69856f authored by Phillip Webb's avatar Phillip Webb

Polish

parent 97d7ffd8
...@@ -115,7 +115,7 @@ import org.springframework.util.StringUtils; ...@@ -115,7 +115,7 @@ import org.springframework.util.StringUtils;
* @author Christian Dupuis * @author Christian Dupuis
* @author Matt Benson * @author Matt Benson
* @see ShellProperties * @see ShellProperties
* @deprecated as of 1.5 * @deprecated as of 1.5 since CRaSH is not actively maintained
*/ */
@Configuration @Configuration
@ConditionalOnClass(PluginLifeCycle.class) @ConditionalOnClass(PluginLifeCycle.class)
......
...@@ -158,8 +158,9 @@ public class MetricRepositoryAutoConfiguration { ...@@ -158,8 +158,9 @@ public class MetricRepositoryAutoConfiguration {
@Bean @Bean
@ExportMetricReader @ExportMetricReader
@ActuatorMetricWriter @ActuatorMetricWriter
public InMemoryMultiMetricRepository actuatorMultiMetricRepository() { public InMemoryMultiMetricRepository actuatorMultiMetricRepository(
return new InMemoryMultiMetricRepository(actuatorMetricRepository()); InMemoryMetricRepository actuatorMetricRepository) {
return new InMemoryMultiMetricRepository(actuatorMetricRepository);
} }
} }
......
...@@ -38,7 +38,7 @@ import org.springframework.util.StringUtils; ...@@ -38,7 +38,7 @@ import org.springframework.util.StringUtils;
* @author Phillip Webb * @author Phillip Webb
* @author Eddú Meléndez * @author Eddú Meléndez
* @author Stephane Nicoll * @author Stephane Nicoll
* @deprecated as of 1.5 * @deprecated as of 1.5 since CRaSH is not actively maintained
*/ */
@ConfigurationProperties(prefix = ShellProperties.SHELL_PREFIX, ignoreUnknownFields = true) @ConfigurationProperties(prefix = ShellProperties.SHELL_PREFIX, ignoreUnknownFields = true)
@Deprecated @Deprecated
......
...@@ -44,16 +44,16 @@ public class InMemoryMetricRepository implements MetricRepository { ...@@ -44,16 +44,16 @@ public class InMemoryMetricRepository implements MetricRepository {
final int amount = delta.getValue().intValue(); final int amount = delta.getValue().intValue();
final Date timestamp = delta.getTimestamp(); final Date timestamp = delta.getTimestamp();
this.metrics.update(metricName, new Callback<Metric<?>>() { this.metrics.update(metricName, new Callback<Metric<?>>() {
@Override @Override
public Metric<?> modify(Metric<?> current) { public Metric<?> modify(Metric<?> current) {
if (current != null) { if (current != null) {
return new Metric<Long>(metricName, return new Metric<Long>(metricName,
current.increment(amount).getValue(), timestamp); current.increment(amount).getValue(), timestamp);
} }
else { return new Metric<Long>(metricName, (long) amount, timestamp);
return new Metric<Long>(metricName, (long) amount, timestamp);
}
} }
}); });
} }
......
...@@ -22,6 +22,7 @@ import java.util.HashSet; ...@@ -22,6 +22,7 @@ import java.util.HashSet;
import org.springframework.boot.actuate.metrics.Metric; import org.springframework.boot.actuate.metrics.Metric;
import org.springframework.boot.actuate.metrics.writer.Delta; import org.springframework.boot.actuate.metrics.writer.Delta;
import org.springframework.util.Assert;
/** /**
* {@link MultiMetricRepository} implementation backed by a * {@link MultiMetricRepository} implementation backed by a
...@@ -36,14 +37,24 @@ public class InMemoryMultiMetricRepository implements MultiMetricRepository { ...@@ -36,14 +37,24 @@ public class InMemoryMultiMetricRepository implements MultiMetricRepository {
private final Collection<String> groups = new HashSet<String>(); private final Collection<String> groups = new HashSet<String>();
public InMemoryMultiMetricRepository(InMemoryMetricRepository repository) { /**
this.repository = repository; * Create a new {@link InMemoryMetricRepository} backed by a new
} * {@link InMemoryMetricRepository}.
*/
public InMemoryMultiMetricRepository() { public InMemoryMultiMetricRepository() {
this(new InMemoryMetricRepository()); this(new InMemoryMetricRepository());
} }
/**
* Create a new {@link InMemoryMetricRepository} backed by the specified
* {@link InMemoryMetricRepository}.
* @param repository the backing repository
*/
public InMemoryMultiMetricRepository(InMemoryMetricRepository repository) {
Assert.notNull(repository, "Repository must not be null");
this.repository = repository;
}
@Override @Override
public void set(String group, Collection<Metric<?>> values) { public void set(String group, Collection<Metric<?>> values) {
String prefix = group; String prefix = group;
......
...@@ -145,7 +145,7 @@ public class JolokiaAutoConfigurationTests { ...@@ -145,7 +145,7 @@ public class JolokiaAutoConfigurationTests {
Collection<? extends MvcEndpoint> endpoints) { Collection<? extends MvcEndpoint> endpoints) {
EndpointHandlerMapping mapping = new EndpointHandlerMapping(endpoints); EndpointHandlerMapping mapping = new EndpointHandlerMapping(endpoints);
mapping.setSecurityInterceptor( mapping.setSecurityInterceptor(
new MvcEndpointSecurityInterceptor(false, Collections.EMPTY_LIST)); new MvcEndpointSecurityInterceptor(false, Collections.emptyList()));
return mapping; return mapping;
} }
......
...@@ -54,8 +54,8 @@ public class PrefixMetricGroupExporterTests { ...@@ -54,8 +54,8 @@ public class PrefixMetricGroupExporterTests {
@Test @Test
public void countersIncremented() { public void countersIncremented() {
this.writer.increment("counter.foo", new Delta<Long>("bar", 1L)); this.writer.increment("counter.foo", new Delta<Long>("bar", 1L));
this.reader.set("counter", Collections.<Metric<?>>singletonList( this.reader.set("counter", Collections
new Metric<Number>("counter.foo.bar", 1))); .<Metric<?>>singletonList(new Metric<Number>("counter.foo.bar", 1)));
this.exporter.setGroups(Collections.singleton("counter.foo")); this.exporter.setGroups(Collections.singleton("counter.foo"));
this.exporter.export(); this.exporter.export();
assertThat(this.writer.findAll("counter.foo").iterator().next().getValue()) assertThat(this.writer.findAll("counter.foo").iterator().next().getValue())
...@@ -65,8 +65,7 @@ public class PrefixMetricGroupExporterTests { ...@@ -65,8 +65,7 @@ public class PrefixMetricGroupExporterTests {
@Test @Test
public void unprefixedMetricsNotCopied() { public void unprefixedMetricsNotCopied() {
this.reader.set("foo", Arrays.<Metric<?>>asList( this.reader.set("foo", Arrays.<Metric<?>>asList(
new Metric<Number>("foo.bar", 2.3), new Metric<Number>("foo.bar", 2.3), new Metric<Number>("foo.spam", 1.3)));
new Metric<Number>("foo.spam", 1.3)));
this.exporter.setGroups(Collections.singleton("bar")); this.exporter.setGroups(Collections.singleton("bar"));
this.exporter.export(); this.exporter.export();
assertThat(Iterables.collection(this.writer.groups())).isEmpty(); assertThat(Iterables.collection(this.writer.groups())).isEmpty();
...@@ -84,10 +83,9 @@ public class PrefixMetricGroupExporterTests { ...@@ -84,10 +83,9 @@ public class PrefixMetricGroupExporterTests {
@Test @Test
public void onlyPrefixedMetricsCopied() { public void onlyPrefixedMetricsCopied() {
this.reader.set("foo", Arrays.<Metric<?>>asList( this.reader.set("foo", Arrays.<Metric<?>>asList(
new Metric<Number>("foo.bar", 2.3), new Metric<Number>("foo.bar", 2.3), new Metric<Number>("foo.spam", 1.3)));
new Metric<Number>("foo.spam", 1.3))); this.reader.set("foobar", Collections
this.reader.set("foobar", Collections.<Metric<?>>singletonList( .<Metric<?>>singletonList(new Metric<Number>("foobar.spam", 1.3)));
new Metric<Number>("foobar.spam", 1.3)));
this.exporter.setGroups(Collections.singleton("foo")); this.exporter.setGroups(Collections.singleton("foo"));
this.exporter.export(); this.exporter.export();
assertThat(Iterables.collection(this.writer.groups())).hasSize(1); assertThat(Iterables.collection(this.writer.groups())).hasSize(1);
......
...@@ -28,6 +28,8 @@ import static org.assertj.core.api.Assertions.offset; ...@@ -28,6 +28,8 @@ import static org.assertj.core.api.Assertions.offset;
/** /**
* Tests for {@link InMemoryMetricRepository}. * Tests for {@link InMemoryMetricRepository}.
*
* @author Dave Syer
*/ */
public class InMemoryMetricRepositoryTests { public class InMemoryMetricRepositoryTests {
......
...@@ -29,12 +29,13 @@ import org.springframework.boot.actuate.metrics.writer.Delta; ...@@ -29,12 +29,13 @@ import org.springframework.boot.actuate.metrics.writer.Delta;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
/** /**
* Tests for {@link InMemoryMultiMetricRepository}.
*
* @author Dave Syer * @author Dave Syer
*/ */
public class InMemoryMultiMetricRepositoryTests { public class InMemoryMultiMetricRepositoryTests {
private final InMemoryMultiMetricRepository repository = private final InMemoryMultiMetricRepository repository = new InMemoryMultiMetricRepository();
new InMemoryMultiMetricRepository();
@Test @Test
public void registeredPrefixCounted() { public void registeredPrefixCounted() {
......
...@@ -20,7 +20,9 @@ import com.datastax.driver.core.Cluster; ...@@ -20,7 +20,9 @@ import com.datastax.driver.core.Cluster;
/** /**
* Callback interface that can be implemented by beans wishing to customize the * Callback interface that can be implemented by beans wishing to customize the
* {@link Cluster} via {@link Cluster.Builder} retaining its default auto-configuration. * {@link com.datastax.driver.core.Cluster} via
* {@link com.datastax.driver.core.Cluster.Builder} retaining its default
* auto-configuration.
* *
* @author Eddú Meléndez * @author Eddú Meléndez
* @since 1.5.0 * @since 1.5.0
...@@ -28,7 +30,7 @@ import com.datastax.driver.core.Cluster; ...@@ -28,7 +30,7 @@ import com.datastax.driver.core.Cluster;
public interface ClusterBuilderCustomizer { public interface ClusterBuilderCustomizer {
/** /**
* Customize the {@link Cluster.Builder}. * Customize the {@link com.datastax.driver.core.Cluster.Builder}.
* @param clusterBuilder the builder to customize * @param clusterBuilder the builder to customize
*/ */
void customize(Cluster.Builder clusterBuilder); void customize(Cluster.Builder clusterBuilder);
......
...@@ -30,7 +30,7 @@ public enum SearchStrategy { ...@@ -30,7 +30,7 @@ public enum SearchStrategy {
/** /**
* Search all parents and ancestors, but not the current context. * Search all parents and ancestors, but not the current context.
* @deprecated since 1.5 in favor of {@link SearchStrategy#ANCESTORS} * @deprecated as of 1.5 in favor of {@link SearchStrategy#ANCESTORS}
*/ */
@Deprecated PARENTS, @Deprecated PARENTS,
......
...@@ -85,7 +85,7 @@ abstract class DataSourceConfiguration { ...@@ -85,7 +85,7 @@ abstract class DataSourceConfiguration {
/** /**
* DBCP DataSource configuration. * DBCP DataSource configuration.
* *
* @deprecated as of Spring Boot 1.5 in favor of DBCP2 * @deprecated as of 1.5 in favor of DBCP2
*/ */
@ConditionalOnClass(org.apache.commons.dbcp.BasicDataSource.class) @ConditionalOnClass(org.apache.commons.dbcp.BasicDataSource.class)
@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.commons.dbcp.BasicDataSource", matchIfMissing = true) @ConditionalOnProperty(name = "spring.datasource.type", havingValue = "org.apache.commons.dbcp.BasicDataSource", matchIfMissing = true)
......
...@@ -20,7 +20,6 @@ import java.io.IOException; ...@@ -20,7 +20,6 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URI; import java.net.URI;
import java.nio.ByteBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
...@@ -57,8 +56,6 @@ public class LiveReloadServerTests { ...@@ -57,8 +56,6 @@ public class LiveReloadServerTests {
private static final String HANDSHAKE = "{command: 'hello', " private static final String HANDSHAKE = "{command: 'hello', "
+ "protocols: ['http://livereload.com/protocols/official-7']}"; + "protocols: ['http://livereload.com/protocols/official-7']}";
private static final ByteBuffer NO_DATA = ByteBuffer.allocate(0);
private int port = SocketUtils.findAvailableTcpPort(); private int port = SocketUtils.findAvailableTcpPort();
private MonitoredLiveReloadServer server; private MonitoredLiveReloadServer server;
......
...@@ -40,7 +40,7 @@ public class RemoteShellStarterDeprecatedWarningAutoConfiguration { ...@@ -40,7 +40,7 @@ public class RemoteShellStarterDeprecatedWarningAutoConfiguration {
@PostConstruct @PostConstruct
public void logWarning() { public void logWarning() {
logger.warn("spring-boot-starter-remote-shell is deprecated since Spring Boot " logger.warn("spring-boot-starter-remote-shell is deprecated as of Spring Boot "
+ "1.5 and will be removed in Spring Boot 2.0"); + "1.5 and will be removed in Spring Boot 2.0");
} }
......
...@@ -34,7 +34,7 @@ import org.springframework.boot.test.autoconfigure.properties.PropertyMapping; ...@@ -34,7 +34,7 @@ import org.springframework.boot.test.autoconfigure.properties.PropertyMapping;
* instead of any application defined or auto-configured {@link DataSource}. * instead of any application defined or auto-configured {@link DataSource}.
* *
* @author Stephane Nicoll * @author Stephane Nicoll
* @deprecated since 1.5 in favour of * @deprecated as of 1.5 in favor of
* {@link org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase} * {@link org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase}
*/ */
@Target({ ElementType.TYPE, ElementType.METHOD }) @Target({ ElementType.TYPE, ElementType.METHOD })
......
...@@ -38,6 +38,7 @@ import org.springframework.core.annotation.AnnotatedElementUtils; ...@@ -38,6 +38,7 @@ import org.springframework.core.annotation.AnnotatedElementUtils;
import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.MutablePropertySources; import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertySources;
import org.springframework.core.env.PropertySourcesPropertyResolver; import org.springframework.core.env.PropertySourcesPropertyResolver;
import org.springframework.core.env.StandardEnvironment; import org.springframework.core.env.StandardEnvironment;
import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.DefaultResourceLoader;
...@@ -160,15 +161,21 @@ public class SpringBootContextLoader extends AbstractContextLoader { ...@@ -160,15 +161,21 @@ public class SpringBootContextLoader extends AbstractContextLoader {
} }
private boolean hasCustomServerPort(List<String> properties) { private boolean hasCustomServerPort(List<String> properties) {
Map<String, Object> props = TestPropertySourceUtils.convertInlinedPropertiesToMap( PropertySources sources = convertToPropertySources(properties);
properties.toArray(new String[properties.size()]));
MutablePropertySources sources = new MutablePropertySources();
sources.addFirst(new MapPropertySource("inline", props));
RelaxedPropertyResolver resolver = new RelaxedPropertyResolver( RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(
new PropertySourcesPropertyResolver(sources), "server."); new PropertySourcesPropertyResolver(sources), "server.");
return resolver.containsProperty("port"); return resolver.containsProperty("port");
} }
private PropertySources convertToPropertySources(List<String> properties) {
Map<String, Object> source = TestPropertySourceUtils
.convertInlinedPropertiesToMap(
properties.toArray(new String[properties.size()]));
MutablePropertySources sources = new MutablePropertySources();
sources.addFirst(new MapPropertySource("inline", source));
return sources;
}
private List<ApplicationContextInitializer<?>> getInitializers( private List<ApplicationContextInitializer<?>> getInitializers(
MergedContextConfiguration config, SpringApplication application) { MergedContextConfiguration config, SpringApplication application) {
List<ApplicationContextInitializer<?>> initializers = new ArrayList<ApplicationContextInitializer<?>>(); List<ApplicationContextInitializer<?>> initializers = new ArrayList<ApplicationContextInitializer<?>>();
......
...@@ -27,8 +27,8 @@ import org.springframework.test.context.junit4.SpringRunner; ...@@ -27,8 +27,8 @@ import org.springframework.test.context.junit4.SpringRunner;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
/** /**
* Test for {@link SpringBootTest} with a custom inline server.port in a non-embedded * Test for {@link SpringBootTest} with a custom inline server.port in a non-embedded web
* web environment. * environment.
* *
* @author Stephane Nicoll * @author Stephane Nicoll
*/ */
......
...@@ -38,7 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -38,7 +38,8 @@ import static org.assertj.core.api.Assertions.assertThat;
*/ */
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@DirtiesContext @DirtiesContext
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = { "server.port=12345" }) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = {
"server.port=12345" })
public class SpringBootTestWebEnvironmentRandomPortCustomPortTests { public class SpringBootTestWebEnvironmentRandomPortCustomPortTests {
@Autowired @Autowired
...@@ -55,4 +56,5 @@ public class SpringBootTestWebEnvironmentRandomPortCustomPortTests { ...@@ -55,4 +56,5 @@ public class SpringBootTestWebEnvironmentRandomPortCustomPortTests {
protected static class Config extends AbstractConfig { protected static class Config extends AbstractConfig {
} }
} }
...@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory; ...@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
* to use the new Gradle Plugin Portal-compatible ID {@code org.springframework.boot}. * to use the new Gradle Plugin Portal-compatible ID {@code org.springframework.boot}.
* *
* @author Andy Wilkinson * @author Andy Wilkinson
* @deprecated since 1.4.2 in favor of {@link SpringBootPlugin} * @deprecated as of 1.4.2 in favor of {@link SpringBootPlugin}
*/ */
@Deprecated @Deprecated
public class DeprecatedSpringBootPlugin extends SpringBootPlugin { public class DeprecatedSpringBootPlugin extends SpringBootPlugin {
......
...@@ -554,7 +554,7 @@ public class TomcatEmbeddedServletContainerFactory ...@@ -554,7 +554,7 @@ public class TomcatEmbeddedServletContainerFactory
* A comma-separated list of jars to ignore for TLD scanning. See Tomcat's * A comma-separated list of jars to ignore for TLD scanning. See Tomcat's
* catalina.properties for typical values. Defaults to a list drawn from that source. * catalina.properties for typical values. Defaults to a list drawn from that source.
* @param tldSkip the jars to skip when scanning for TLDs etc * @param tldSkip the jars to skip when scanning for TLDs etc
* @deprecated since 1.5.0 in favor of {@link #setTldSkipPatterns(Collection)} * @deprecated as of 1.5 in favor of {@link #setTldSkipPatterns(Collection)}
*/ */
@Deprecated @Deprecated
public void setTldSkip(String tldSkip) { public void setTldSkip(String tldSkip) {
......
...@@ -29,7 +29,7 @@ import org.springframework.core.env.Environment; ...@@ -29,7 +29,7 @@ import org.springframework.core.env.Environment;
* state too much at this early stage since it might be modified later in the lifecycle. * state too much at this early stage since it might be modified later in the lifecycle.
* *
* @author Dave Syer * @author Dave Syer
* @deprecated since 1.5.0 in favor of {@link ApplicationStartingEvent} * @deprecated as of 1.5 in favor of {@link ApplicationStartingEvent}
*/ */
@Deprecated @Deprecated
@SuppressWarnings("serial") @SuppressWarnings("serial")
......
...@@ -97,6 +97,7 @@ public class LoggingApplicationListener implements GenericApplicationListener { ...@@ -97,6 +97,7 @@ public class LoggingApplicationListener implements GenericApplicationListener {
/** /**
* The name of the Spring property that contains the directory where log files are * The name of the Spring property that contains the directory where log files are
* written. * written.
* @deprecated as of 1.5 in favor of {@link LogFile#PATH_PROPERTY}
*/ */
@Deprecated @Deprecated
public static final String PATH_PROPERTY = LogFile.PATH_PROPERTY; public static final String PATH_PROPERTY = LogFile.PATH_PROPERTY;
...@@ -104,6 +105,7 @@ public class LoggingApplicationListener implements GenericApplicationListener { ...@@ -104,6 +105,7 @@ public class LoggingApplicationListener implements GenericApplicationListener {
/** /**
* The name of the Spring property that contains the name of the log file. Names can * The name of the Spring property that contains the name of the log file. Names can
* be an exact location or relative to the current directory. * be an exact location or relative to the current directory.
* @deprecated as of 1.5 in favor of {@link LogFile#FILE_PROPERTY}
*/ */
@Deprecated @Deprecated
public static final String FILE_PROPERTY = LogFile.FILE_PROPERTY; public static final String FILE_PROPERTY = LogFile.FILE_PROPERTY;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment