polishing

This commit is contained in:
Stephane Nicoll
2014-08-28 10:29:49 +02:00
parent b282f66aec
commit c84c48fac3
10 changed files with 44 additions and 35 deletions

View File

@@ -54,7 +54,7 @@ class InitializrAutoConfiguration {
@Bean @Bean
@ConditionalOnMissingBean(InitializrMetadataProvider) @ConditionalOnMissingBean(InitializrMetadataProvider)
InitializrMetadataProvider initializrMetadataProvider(InitializrMetadata metadata) { InitializrMetadataProvider initializrMetadataProvider(InitializrMetadata metadata) {
return new DefaultInitializrMetadataProvider(metadata) new DefaultInitializrMetadataProvider(metadata)
} }
@Bean @Bean
@@ -66,18 +66,17 @@ class InitializrAutoConfiguration {
@ConditionalOnMissingBean(CacheManager) @ConditionalOnMissingBean(CacheManager)
CacheManager cacheManager() { CacheManager cacheManager() {
SimpleCacheManager cacheManager = new SimpleCacheManager() SimpleCacheManager cacheManager = new SimpleCacheManager()
cacheManager.setCaches(Arrays.asList( cacheManager.caches = Arrays.asList(
createConcurrentMapCache(600, 'initializr') createConcurrentMapCache(600, 'initializr'))
))
cacheManager cacheManager
} }
private static ConcurrentMapCache createConcurrentMapCache(Long timeToLive, String name) { private static ConcurrentMapCache createConcurrentMapCache(Long timeToLive, String name) {
CacheBuilder<Object, Object> cacheBuilder = CacheBuilder<Object, Object> cacheBuilder =
CacheBuilder.newBuilder().expireAfterWrite(timeToLive, TimeUnit.SECONDS); CacheBuilder.newBuilder().expireAfterWrite(timeToLive, TimeUnit.SECONDS)
ConcurrentMap<Object, Object> map = cacheBuilder.build().asMap(); ConcurrentMap<Object, Object> map = cacheBuilder.build().asMap()
new ConcurrentMapCache(name, map, false); new ConcurrentMapCache(name, map, false)
} }
} }

View File

@@ -73,7 +73,7 @@ class InitializrMetadata {
* no such dependency exists. * no such dependency exists.
*/ */
Dependency getDependency(String id) { Dependency getDependency(String id) {
return indexedDependencies.get(id) indexedDependencies.get(id)
} }
/** /**
@@ -214,7 +214,7 @@ class InitializrMetadata {
* and {@code artifactId}. * and {@code artifactId}.
*/ */
boolean hasCoordinates() { boolean hasCoordinates() {
return groupId != null && artifactId != null groupId != null && artifactId != null
} }
/** /**
@@ -313,7 +313,7 @@ class InitializrMetadata {
} }
boolean isDefault() { boolean isDefault() {
return this.defaultValue this.defaultValue
} }
} }

View File

@@ -29,7 +29,7 @@ import org.springframework.util.StringUtils
*/ */
class ProjectGenerationMetricsListener implements ProjectGenerationListener { class ProjectGenerationMetricsListener implements ProjectGenerationListener {
private final CounterService counterService; private final CounterService counterService
@Autowired @Autowired
ProjectGenerationMetricsListener(CounterService counterService) { ProjectGenerationMetricsListener(CounterService counterService) {

View File

@@ -16,6 +16,9 @@
package io.spring.initializr package io.spring.initializr
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.util.Assert import org.springframework.util.Assert
@@ -31,6 +34,8 @@ import static io.spring.initializr.support.GroovyTemplate.template
*/ */
class ProjectGenerator { class ProjectGenerator {
private static final Logger logger = LoggerFactory.getLogger(ProjectGenerator)
@Autowired @Autowired
InitializrMetadata metadata InitializrMetadata metadata
@@ -153,6 +158,11 @@ class ProjectGenerator {
Assert.notNull request.bootVersion, 'boot version must not be null' Assert.notNull request.bootVersion, 'boot version must not be null'
def model = [:] def model = [:]
request.resolve(metadata) request.resolve(metadata)
// request resolved so we can log what has been requested
logger.info('Processing request{type=' + request.type + ', ' +
'dependencies=' + request.dependencies.collect {it.id}+ '}')
request.properties.each { model[it.key] = it.value } request.properties.each { model[it.key] = it.value }
model model
} }

View File

@@ -32,7 +32,7 @@ class GroovyTemplate {
static String template(String name, Map<String, ?> model) throws IOException, static String template(String name, Map<String, ?> model) throws IOException,
CompilationFailedException, ClassNotFoundException { CompilationFailedException, ClassNotFoundException {
return template(new GStringTemplateEngine(), name, model) template(new GStringTemplateEngine(), name, model)
} }
static String template(TemplateEngine engine, String name, Map<String, ?> model) static String template(TemplateEngine engine, String name, Map<String, ?> model)
@@ -40,7 +40,7 @@ class GroovyTemplate {
Writable writable = getTemplate(engine, name).make(model) Writable writable = getTemplate(engine, name).make(model)
StringWriter result = new StringWriter() StringWriter result = new StringWriter()
writable.writeTo(result) writable.writeTo(result)
return result.toString() result.toString()
} }
static Template getTemplate(TemplateEngine engine, String name) static Template getTemplate(TemplateEngine engine, String name)

View File

@@ -35,14 +35,14 @@ class ProjectGenerationMetricsListenerTests {
@Before @Before
public void setup() { void setup() {
TestCounterService counterService = new TestCounterService() TestCounterService counterService = new TestCounterService()
listener = new ProjectGenerationMetricsListener(counterService) listener = new ProjectGenerationMetricsListener(counterService)
metricsAssert = new MetricsAssert(counterService) metricsAssert = new MetricsAssert(counterService)
} }
@Test @Test
public void projectGenerationCount() { void projectGenerationCount() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -50,7 +50,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void dependencies() { void dependencies() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.style << 'security' << 'spring-data' request.style << 'security' << 'spring-data'
request.resolve(metadata) request.resolve(metadata)
@@ -60,7 +60,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void resolvedWebDependency() { void resolvedWebDependency() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.style << 'spring-data' request.style << 'spring-data'
request.packaging = 'war' request.packaging = 'war'
@@ -71,7 +71,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void aliasedDependencyUseStandardId() { void aliasedDependencyUseStandardId() {
InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency()
dependency.id ='foo' dependency.id ='foo'
dependency.aliases << 'foo-old' dependency.aliases << 'foo-old'
@@ -86,7 +86,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void defaultType() { void defaultType() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -94,7 +94,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void explicitType() { void explicitType() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.type = 'build.gradle' request.type = 'build.gradle'
request.resolve(metadata) request.resolve(metadata)
@@ -103,7 +103,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void defaultPackaging() { void defaultPackaging() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -111,7 +111,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void explicitPackaging() { void explicitPackaging() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.packaging = 'war' request.packaging = 'war'
request.resolve(metadata) request.resolve(metadata)
@@ -120,7 +120,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void defaultJavaVersion() { void defaultJavaVersion() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -128,7 +128,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void explicitJavaVersion() { void explicitJavaVersion() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.javaVersion = '1.8' request.javaVersion = '1.8'
request.resolve(metadata) request.resolve(metadata)
@@ -137,7 +137,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void defaultLanguage() { void defaultLanguage() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -145,7 +145,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void explicitLanguage() { void explicitLanguage() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.language = 'groovy' request.language = 'groovy'
request.resolve(metadata) request.resolve(metadata)
@@ -154,7 +154,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void defaultBootVersion() { void defaultBootVersion() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.resolve(metadata) request.resolve(metadata)
listener.onGeneratedProject(request) listener.onGeneratedProject(request)
@@ -162,7 +162,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void explicitBootVersion() { void explicitBootVersion() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.bootVersion = '1.0.2.RELEASE' request.bootVersion = '1.0.2.RELEASE'
request.resolve(metadata) request.resolve(metadata)
@@ -171,7 +171,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void collectAllMetrics() { void collectAllMetrics() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.style << 'web' << 'security' request.style << 'web' << 'security'
request.type = 'gradle.zip' request.type = 'gradle.zip'
@@ -190,7 +190,7 @@ class ProjectGenerationMetricsListenerTests {
} }
@Test @Test
public void incrementMetrics() { void incrementMetrics() {
ProjectRequest request = initialize() ProjectRequest request = initialize()
request.style << 'security' << 'spring-data' request.style << 'security' << 'spring-data'
request.resolve(metadata) request.resolve(metadata)

View File

@@ -118,7 +118,7 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac
/** /**
* Provide the context of the home page * Provide the context of the home page
*/ */
protected abstract String homeContext(); protected abstract String homeContext()
/** /**
* Create a {@link HomePage} instance based on the specified {@link HtmlPage} * Create a {@link HomePage} instance based on the specified {@link HtmlPage}

View File

@@ -55,7 +55,7 @@ abstract class AbstractInitializrControllerIntegrationTests {
final RestTemplate restTemplate = new RestTemplate() final RestTemplate restTemplate = new RestTemplate()
String createUrl(String context) { String createUrl(String context) {
return 'http://localhost:' + port + context 'http://localhost:' + port + context
} }
String htmlHome() { String htmlHome() {
@@ -119,7 +119,7 @@ abstract class AbstractInitializrControllerIntegrationTests {
new DefaultInitializrMetadataProvider(metadata) { new DefaultInitializrMetadataProvider(metadata) {
@Override @Override
protected List<InitializrMetadata.BootVersion> fetchBootVersions() { protected List<InitializrMetadata.BootVersion> fetchBootVersions() {
return null; // Disable metadata fetching from spring.io null // Disable metadata fetching from spring.io
} }
} }
} }

View File

@@ -43,7 +43,7 @@ class LegacyStsControllerFormIntegrationTests extends AbstractInitializerControl
} }
@Configuration @Configuration
public static class LegacyStsConfig { static class LegacyStsConfig {
@Bean @Bean
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")

View File

@@ -86,7 +86,7 @@ abstract class HomePage {
checkBox.checked = true checkBox.checked = true
} else { } else {
throw new IllegalArgumentException('No dependency with name ' throw new IllegalArgumentException('No dependency with name '
+ dependency + ' was found amongst ' + allStyles.keySet()); + dependency + ' was found amongst ' + allStyles.keySet())
} }
} }
} }