Additional visibility changes needed in new Java code

This commit is contained in:
Dave Syer 2017-01-26 14:28:38 +00:00 committed by Stephane Nicoll
parent ad6430b92a
commit 1385e82eb5
14 changed files with 58 additions and 48 deletions

View File

@ -32,7 +32,7 @@ import io.spring.initializr.metadata.InitializrMetadataProvider;
public class InitializrActuatorEndpointsAutoConfiguration {
@Bean
BomRangesInfoContributor bomRangesInfoContributor(
public BomRangesInfoContributor bomRangesInfoContributor(
InitializrMetadataProvider metadataProvider) {
return new BomRangesInfoContributor(metadataProvider);
}

View File

@ -47,7 +47,8 @@ import io.spring.initializr.actuate.metric.ProjectGenerationMetricsListener;
public class InitializrMetricsConfiguration {
@Bean
ProjectGenerationMetricsListener metricsListener(CounterService counterService) {
public ProjectGenerationMetricsListener metricsListener(
CounterService counterService) {
return new ProjectGenerationMetricsListener(counterService);
}
@ -56,20 +57,12 @@ public class InitializrMetricsConfiguration {
@EnableScheduling
@EnableConfigurationProperties(MetricsProperties.class)
@Configuration
public static class MetricsExportConfiguration {
@Autowired
RedisConnectionFactory connectionFactory;
@Autowired
MetricsProperties metrics;
@Autowired
ApplicationContext context;
protected static class MetricsExportConfiguration {
@Bean
@ExportMetricWriter
MetricWriter writer() {
public MetricWriter writer(RedisConnectionFactory connectionFactory,
MetricsProperties metrics, ApplicationContext context) {
return new RedisMetricRepository(connectionFactory,
metrics.getPrefix() + metrics.getId(context.getId()) + "."
+ ObjectUtils.getIdentityHexString(context) + ".",

View File

@ -48,7 +48,7 @@ class InitializrStatsAutoConfiguration {
private StatsProperties statsProperties;
@Bean
ProjectGenerationStatPublisher projectRequestStatHandler(
public ProjectGenerationStatPublisher projectRequestStatHandler(
InitializrMetadataProvider provider) {
return new ProjectGenerationStatPublisher(
new ProjectRequestDocumentFactory(provider), statsProperties,
@ -57,7 +57,7 @@ class InitializrStatsAutoConfiguration {
@Bean
@ConditionalOnMissingBean(name = "statsRetryTemplate")
RetryTemplate statsRetryTemplate() {
public RetryTemplate statsRetryTemplate() {
RetryTemplate retryTemplate = new RetryTemplate();
ExponentialBackOffPolicy backOffPolicy = new ExponentialBackOffPolicy();
backOffPolicy.setInitialInterval(3000L);

View File

@ -53,14 +53,14 @@ public class MetricsProperties {
@Value("${spring.metrics.export.default.delayMillis:5000}")
private long rateMillis = 5000L;
String getPrefix() {
public String getPrefix() {
if (prefix.endsWith(".")) {
return prefix;
}
return prefix + ".";
}
String getId(String defaultValue) {
public String getId(String defaultValue) {
if (StringUtils.hasText(id)) return id;
return defaultValue;
}

View File

@ -56,16 +56,16 @@ public class MetricsExportTests {
public RedisRunning running = new RedisRunning();
@Autowired
ProjectGenerationMetricsListener listener;
private ProjectGenerationMetricsListener listener;
@Autowired
@Qualifier("writer")
MetricWriter writer;
private MetricWriter writer;
RedisMetricRepository repository;
private RedisMetricRepository repository;
@Before
public void init() {
public void init() throws Exception {
repository = (RedisMetricRepository) writer;
repository.findAll().forEach(it -> {
repository.reset(it.getName());
@ -83,10 +83,10 @@ public class MetricsExportTests {
@Configuration
@EnableAutoConfiguration
@EnableConfigurationProperties(InitializrProperties.class)
static class Config {
protected static class Config {
@Bean
InitializrMetadataProvider initializrMetadataProvider(
public InitializrMetadataProvider initializrMetadataProvider(
InitializrProperties properties) {
InitializrMetadata metadata = InitializrMetadataBuilder
.fromInitializrProperties(properties).build();

View File

@ -27,7 +27,7 @@ import io.spring.initializr.test.metadata.InitializrMetadataTestBuilder;
*/
abstract class AbstractInitializrStatTests {
InitializrMetadata metadata = InitializrMetadataTestBuilder
private final InitializrMetadata metadata = InitializrMetadataTestBuilder
.withDefaults()
.addDependencyGroup("core", "security", "validation", "aop")
.addDependencyGroup("web", "web", "data-rest", "jersey")
@ -45,4 +45,8 @@ abstract class AbstractInitializrStatTests {
return request;
}
public InitializrMetadata getMetadata() {
return metadata;
}
}

View File

@ -184,32 +184,32 @@ public class MainControllerStatsIntegrationTests
}
@RestController
static class StatsMockController {
protected static class StatsMockController {
private final List<Content> stats = new ArrayList<>();
@RequestMapping(path = "/elastic/test/my-entity", method = RequestMethod.POST)
void handleProjectRequestDocument(RequestEntity<String> input) {
public void handleProjectRequestDocument(RequestEntity<String> input) {
String authorization = input.getHeaders().getFirst(HttpHeaders.AUTHORIZATION);
Content content = new Content(authorization, input.getBody());
this.stats.add(content);
}
@RequestMapping(path = "/elastic-error/test/my-entity", method = RequestMethod.POST)
void handleExpectedError() {
public void handleExpectedError() {
throw new IllegalStateException("Expected exception");
}
static class Content {
public static class Content {
public Content(String authorization, String body) {
this.authorization = authorization;
json = body;
}
String authorization;
private String authorization;
String json;
private String json;
}

View File

@ -52,7 +52,7 @@ public class ProjectGenerationStatPublisherTests extends AbstractInitializrStatT
public void setUp() {
this.properties = createProperties();
ProjectRequestDocumentFactory documentFactory =
new ProjectRequestDocumentFactory(createProvider(metadata));
new ProjectRequestDocumentFactory(createProvider(getMetadata()));
this.retryTemplate = new RetryTemplate();
this.statPublisher = new ProjectGenerationStatPublisher(documentFactory, properties, retryTemplate);
mockServer = MockRestServiceServer.createServer(this.statPublisher.getRestTemplate());

View File

@ -36,7 +36,7 @@ import io.spring.initializr.generator.ProjectRequest;
public class ProjectRequestDocumentFactoryTests extends AbstractInitializrStatTests {
private final ProjectRequestDocumentFactory factory =
new ProjectRequestDocumentFactory(createProvider(metadata));
new ProjectRequestDocumentFactory(createProvider(getMetadata()));
@Test
public void createDocumentForSimpleProject() {

View File

@ -36,10 +36,10 @@ public class MetricsAssert {
public MetricsAssert hasValue(long value, String... metrics) {
Arrays.asList(metrics).forEach(it -> {
Long actual = counterService.values.get(it);
Long actual = counterService.getValues().get(it);
if (actual == null) {
fail("Metric '" + it + "' not found, got '"
+ counterService.values.keySet() + "'");
+ counterService.getValues().keySet() + "'");
}
assertEquals("Wrong value for metric " + it, value, actual.longValue());
});
@ -49,15 +49,15 @@ public class MetricsAssert {
public MetricsAssert hasNoValue(String... metrics) {
Arrays.asList(metrics).forEach(it -> {
assertEquals("Metric '" + it + "' should not be registered", null,
counterService.values.get(it));
counterService.getValues().get(it));
});
return this;
}
public MetricsAssert metricsCount(int count) {
assertEquals(
"Wrong number of metrics, got '" + counterService.values.keySet() + "'",
count, counterService.values.size());
"Wrong number of metrics, got '" + counterService.getValues().keySet() + "'",
count, counterService.getValues().size());
return this;
}
}

View File

@ -29,7 +29,7 @@ import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
*/
public class RedisRunning extends TestWatcher {
JedisConnectionFactory connectionFactory;
private JedisConnectionFactory connectionFactory;
@Override
public Statement apply(Statement base, Description description) {

View File

@ -28,25 +28,29 @@ import org.springframework.boot.actuate.metrics.CounterService;
*/
public class TestCounterService implements CounterService {
final Map<String, Long> values = new HashMap<>();
private final Map<String, Long> values = new HashMap<>();
@Override
public void increment(String metricName) {
Long value = values.get(metricName);
Long value = getValues().get(metricName);
Long valueToSet = value!=null ? ++value : 1;
values.put(metricName, valueToSet);
getValues().put(metricName, valueToSet);
}
@Override
public void decrement(String metricName) {
Long value = values.get(metricName);
Long value = getValues().get(metricName);
Long valueToSet = value!=null ? +--value : -1;
values.put(metricName, valueToSet);
getValues().put(metricName, valueToSet);
}
@Override
public void reset(String metricName) {
values.put(metricName, 0L);
getValues().put(metricName, 0L);
}
public Map<String, Long> getValues() {
return values;
}
}

View File

@ -18,6 +18,7 @@ package io.spring.initializr.metadata
import com.fasterxml.jackson.annotation.JsonInclude
import groovy.transform.ToString
import io.spring.initializr.metadata.BillOfMaterials.Mapping;
import io.spring.initializr.util.InvalidVersionException
import io.spring.initializr.util.Version
import io.spring.initializr.util.VersionParser
@ -69,6 +70,10 @@ class BillOfMaterials {
final List<Mapping> mappings = []
static BillOfMaterials create(String groupId, String artifactId, String version) {
new BillOfMaterials(groupId: groupId, artifactId: artifactId, version: version)
}
/**
* Determine the version placeholder to use for this instance. If a version
* property is defined, this returns the reference for the property. Otherwise
@ -130,6 +135,10 @@ class BillOfMaterials {
private VersionRange range
static Mapping create(String versionRange, String version) {
new Mapping(versionRange: versionRange, version: version)
}
String determineVersionRangeRequirement() {
range.toString()
}

View File

@ -16,20 +16,20 @@
package io.spring.initializr.web
import org.junit.runner.RunWith
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT
import io.spring.initializr.web.AbstractInitializrIntegrationTests.Config
import org.junit.runner.RunWith
import org.springframework.boot.context.embedded.LocalServerPort
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.junit4.SpringRunner
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT
/**
* @author Stephane Nicoll
* @author Dave Syer
*/
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = RANDOM_PORT)
@SpringBootTest(classes = Config, webEnvironment = RANDOM_PORT)
abstract class AbstractFullStackInitializrIntegrationTests
extends AbstractInitializrIntegrationTests {