From 2f9a43533477b85d5cd2ad9f006452f5a40d56b9 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 2 Sep 2014 07:30:54 +0200 Subject: [PATCH] polishing --- .../DefaultInitializrMetadataProvider.groovy | 16 +++--- .../InitializrAutoConfiguration.groovy | 10 ++-- .../initializr/InitializrMetadata.groovy | 44 ++++++++-------- .../InvalidInitializrMetadataException.groovy | 6 +-- .../spring/initializr/ProjectGenerator.groovy | 48 +++++++++-------- .../spring/initializr/ProjectRequest.groovy | 16 +++--- .../SpringBootMetadataReader.groovy | 8 +-- .../initializr/support/GroovyTemplate.groovy | 12 ++--- .../initializr/web/MainController.groovy | 16 +++--- ...aultInitializrMetadataProviderTests.groovy | 8 +-- .../initializr/InitializrMetadataTests.groovy | 51 +++++++++---------- ...ojectGenerationMetricsListenerTests.groovy | 42 +++++++-------- .../initializr/ProjectGeneratorTests.groovy | 42 +++++++-------- .../initializr/ProjectRequestTests.groovy | 30 +++++------ .../support/InitializrMetadataBuilder.groovy | 17 +++---- .../initializr/support/MetricsAssert.groovy | 4 +- .../initializr/support/PomAssert.groovy | 34 ++++++------- .../support/TestCounterService.groovy | 14 ++--- ...lizerControllerFormIntegrationTests.groovy | 24 ++++----- ...nitializrControllerIntegrationTests.groovy | 4 +- ...nControllerDefaultsIntegrationTests.groovy | 6 +-- .../MainControllerEnvIntegrationTests.groovy | 2 +- .../web/MainControllerIntegrationTests.groovy | 48 ++++++++--------- .../web/support/DefaultHomePage.groovy | 4 +- .../initializr/web/support/HomePage.groovy | 18 +++---- .../initializr/web/support/StsHomePage.groovy | 2 +- 26 files changed, 257 insertions(+), 269 deletions(-) diff --git a/initializr/src/main/groovy/io/spring/initializr/DefaultInitializrMetadataProvider.groovy b/initializr/src/main/groovy/io/spring/initializr/DefaultInitializrMetadataProvider.groovy index f70156d7..5670b0a9 100644 --- a/initializr/src/main/groovy/io/spring/initializr/DefaultInitializrMetadataProvider.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/DefaultInitializrMetadataProvider.groovy @@ -16,8 +16,7 @@ package io.spring.initializr -import org.slf4j.Logger -import org.slf4j.LoggerFactory +import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired import org.springframework.cache.annotation.Cacheable @@ -29,10 +28,9 @@ import org.springframework.cache.annotation.Cacheable * @author Stephane Nicoll * @since 1.0 */ +@Slf4j class DefaultInitializrMetadataProvider implements InitializrMetadataProvider { - private static final Logger logger = LoggerFactory.getLogger(DefaultInitializrMetadataProvider) - private final InitializrMetadata metadata @Autowired @@ -43,8 +41,8 @@ class DefaultInitializrMetadataProvider implements InitializrMetadataProvider { @Override @Cacheable(value = 'initializr', key = "'metadata'") InitializrMetadata get() { - List bootVersions = fetchBootVersions() - if (bootVersions != null && !bootVersions.isEmpty()) { + def bootVersions = fetchBootVersions() + if (bootVersions) { metadata.merge(bootVersions) } metadata @@ -52,12 +50,12 @@ class DefaultInitializrMetadataProvider implements InitializrMetadataProvider { protected List fetchBootVersions() { def url = metadata.env.springBootMetadataUrl - if (url != null) { + if (url) { try { - logger.info('Fetching boot metadata from '+ url) + log.info('Fetching boot metadata from '+ url) return new SpringBootMetadataReader(url).getBootVersions() } catch (Exception e) { - logger.warn('Failed to fetch spring boot metadata', e) + log.warn('Failed to fetch spring boot metadata', e) } } null diff --git a/initializr/src/main/groovy/io/spring/initializr/InitializrAutoConfiguration.groovy b/initializr/src/main/groovy/io/spring/initializr/InitializrAutoConfiguration.groovy index ed60d842..ebd6e71e 100644 --- a/initializr/src/main/groovy/io/spring/initializr/InitializrAutoConfiguration.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/InitializrAutoConfiguration.groovy @@ -46,7 +46,7 @@ class InitializrAutoConfiguration { @Bean @ConditionalOnMissingBean(ProjectGenerator) ProjectGenerator projectGenerator() { - ProjectGenerator generator = new ProjectGenerator() + def generator = new ProjectGenerator() generator.listeners << metricsListener() generator } @@ -65,17 +65,17 @@ class InitializrAutoConfiguration { @Bean @ConditionalOnMissingBean(CacheManager) CacheManager cacheManager() { - SimpleCacheManager cacheManager = new SimpleCacheManager() + def cacheManager = new SimpleCacheManager() cacheManager.caches = Arrays.asList( createConcurrentMapCache(600, 'initializr')) cacheManager } private static ConcurrentMapCache createConcurrentMapCache(Long timeToLive, String name) { - CacheBuilder cacheBuilder = - CacheBuilder.newBuilder().expireAfterWrite(timeToLive, TimeUnit.SECONDS) + def cacheBuilder = CacheBuilder.newBuilder() + .expireAfterWrite(timeToLive, TimeUnit.SECONDS) - ConcurrentMap map = cacheBuilder.build().asMap() + def map = cacheBuilder.build().asMap() new ConcurrentMapCache(name, map, false) } diff --git a/initializr/src/main/groovy/io/spring/initializr/InitializrMetadata.groovy b/initializr/src/main/groovy/io/spring/initializr/InitializrMetadata.groovy index c12284dd..03bd05c7 100644 --- a/initializr/src/main/groovy/io/spring/initializr/InitializrMetadata.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/InitializrMetadata.groovy @@ -21,8 +21,7 @@ import javax.annotation.PostConstruct import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonInclude import groovy.transform.ToString -import org.slf4j.Logger -import org.slf4j.LoggerFactory +import groovy.util.logging.Slf4j import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.util.StringUtils @@ -44,21 +43,20 @@ import org.springframework.util.StringUtils * @since 1.0 */ @ConfigurationProperties(prefix = 'initializr', ignoreUnknownFields = false) +@Slf4j class InitializrMetadata { - private static final Logger logger = LoggerFactory.getLogger(InitializrMetadata) + final List dependencies = [] - final List dependencies = new ArrayList() + final List types = [] - final List types = new ArrayList() + final List packagings = [] - final List packagings = new ArrayList() + final List javaVersions = [] - final List javaVersions = new ArrayList() + final List languages = [] - final List languages = new ArrayList() - - final List bootVersions = new ArrayList() + final List bootVersions = [] final Defaults defaults = new Defaults() @@ -66,14 +64,14 @@ class InitializrMetadata { final Env env = new Env() @JsonIgnore - final Map indexedDependencies = new HashMap() + private final Map indexedDependencies = [:] /** * Return the {@link Dependency} with the specified id or {@code null} if * no such dependency exists. */ Dependency getDependency(String id) { - indexedDependencies.get(id) + indexedDependencies[id] } /** @@ -101,7 +99,7 @@ class InitializrMetadata { * Merge this instance with the specified content. */ void merge(List bootVersions) { - if (bootVersions != null) { + if (bootVersions) { synchronized (this.bootVersions) { this.bootVersions.clear() this.bootVersions.addAll(bootVersions) @@ -116,7 +114,7 @@ class InitializrMetadata { @PostConstruct void validate() { for (DependencyGroup group : dependencies) { - for (Dependency dependency : group.getContent()) { + group.content.each { dependency -> validateDependency(dependency) indexDependency(dependency.id, dependency) for (String alias : dependency.aliases) { @@ -138,16 +136,16 @@ class InitializrMetadata { } private void indexDependency(String id, Dependency dependency) { - Dependency existing = indexedDependencies.get(id) - if (existing != null) { + def existing = indexedDependencies[id] + if (existing) { throw new IllegalArgumentException('Could not register ' + dependency + ': another dependency has also the "' + id + '" id ' + existing) } - indexedDependencies.put(id, dependency) + indexedDependencies[id] = dependency } static void validateDependency(Dependency dependency) { - String id = dependency.getId() + def id = dependency.id if (id == null) { if (!dependency.hasCoordinates()) { throw new InvalidInitializrMetadataException('Invalid dependency, ' + @@ -156,7 +154,7 @@ class InitializrMetadata { dependency.generateId() } else if (!dependency.hasCoordinates()) { // Let's build the coordinates from the id - StringTokenizer st = new StringTokenizer(id, ':') + def st = new StringTokenizer(id, ':') if (st.countTokens() == 1) { // assume spring-boot-starter dependency.asSpringBootStarter(id) } else if (st.countTokens() == 2 || st.countTokens() == 3) { @@ -178,7 +176,7 @@ class InitializrMetadata { return element.id } } - logger.warn('No default found amongst' + elements) + log.warn('No default found amongst' + elements) return (elements.isEmpty() ? null : elements.get(0).id) } @@ -187,7 +185,7 @@ class InitializrMetadata { String name - final List content = new ArrayList() + final List content = [] } @@ -214,7 +212,7 @@ class InitializrMetadata { * and {@code artifactId}. */ boolean hasCoordinates() { - groupId != null && artifactId != null + groupId && artifactId } /** @@ -325,7 +323,7 @@ class InitializrMetadata { String id String getName() { - (name != null ? name : id) + (name ?: id) } } } diff --git a/initializr/src/main/groovy/io/spring/initializr/InvalidInitializrMetadataException.groovy b/initializr/src/main/groovy/io/spring/initializr/InvalidInitializrMetadataException.groovy index 202f4f68..e11f842b 100644 --- a/initializr/src/main/groovy/io/spring/initializr/InvalidInitializrMetadataException.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/InvalidInitializrMetadataException.groovy @@ -16,16 +16,16 @@ package io.spring.initializr +import groovy.transform.InheritConstructors + /** * Thrown when the configuration defines invalid metadata. * * @author Stephane Nicoll * @since 1.0 */ +@InheritConstructors class InvalidInitializrMetadataException extends RuntimeException { - InvalidInitializrMetadataException(String s) { - super(s) - } } diff --git a/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy b/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy index 30b5e53b..bb3835a8 100644 --- a/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/ProjectGenerator.groovy @@ -16,8 +16,7 @@ package io.spring.initializr -import org.slf4j.Logger -import org.slf4j.LoggerFactory +import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Value @@ -32,26 +31,25 @@ import static io.spring.initializr.support.GroovyTemplate.template * @author Stephane Nicoll * @since 1.0 */ +@Slf4j class ProjectGenerator { - private static final Logger logger = LoggerFactory.getLogger(ProjectGenerator) - @Autowired InitializrMetadata metadata @Value('${TMPDIR:.}') String tmpdir - final Set listeners = new LinkedHashSet<>() + final Set listeners = [] - private transient Map> temporaryFiles = new HashMap<>() + private transient Map> temporaryFiles = [:] /** * Generate a Maven pom for the specified {@link ProjectRequest}. */ byte[] generateMavenPom(ProjectRequest request) { - Map model = initializeModel(request) - byte[] content = doGenerateMavenPom(model) + def model = initializeModel(request) + def content = doGenerateMavenPom(model) invokeListeners(request) content } @@ -60,8 +58,8 @@ class ProjectGenerator { * Generate a Gradle build file for the specified {@link ProjectRequest}. */ byte[] generateGradleBuild(ProjectRequest request) { - Map model = initializeModel(request) - byte[] content = doGenerateGradleBuild(model) + def model = initializeModel(request) + def content = doGenerateGradleBuild(model) invokeListeners(request) content } @@ -73,22 +71,22 @@ class ProjectGenerator { File generateProjectStructure(ProjectRequest request) { def model = initializeModel(request) - File dir = File.createTempFile('tmp', '', new File(tmpdir)) + def dir = File.createTempFile('tmp', '', new File(tmpdir)) addTempFile(dir.name, dir) dir.delete() dir.mkdirs() if (request.type.contains('gradle')) { - String gradle = new String(doGenerateGradleBuild(model)) + def gradle = new String(doGenerateGradleBuild(model)) new File(dir, 'build.gradle').write(gradle) } else { - String pom = new String(doGenerateMavenPom(model)) + def pom = new String(doGenerateMavenPom(model)) new File(dir, 'pom.xml').write(pom) } - String language = request.language + def language = request.language - File src = new File(new File(dir, 'src/main/' + language), request.packageName.replace('.', '/')) + def src = new File(new File(dir, 'src/main/' + language), request.packageName.replace('.', '/')) src.mkdirs() write(src, 'Application.' + language, model) @@ -96,7 +94,7 @@ class ProjectGenerator { write(src, 'ServletInitializer.' + language, model) } - File test = new File(new File(dir, 'src/test/' + language), request.packageName.replace('.', '/')) + def test = new File(new File(dir, 'src/test/' + language), request.packageName.replace('.', '/')) test.mkdirs() if (request.hasWebFacet()) { model.testAnnotations = '@WebAppConfiguration\n' @@ -107,7 +105,7 @@ class ProjectGenerator { } write(test, 'ApplicationTests.' + language, model) - File resources = new File(dir, 'src/main/resources') + def resources = new File(dir, 'src/main/resources') resources.mkdirs() new File(resources, 'application.properties').write('') @@ -125,7 +123,7 @@ class ProjectGenerator { * directory and extension */ File createDistributionFile(File dir, String extension) { - File download = new File(tmpdir, dir.name + extension) + def download = new File(tmpdir, dir.name + extension) addTempFile(dir.name, download) download } @@ -137,7 +135,7 @@ class ProjectGenerator { */ void cleanTempFiles(File dir) { def tempFiles = temporaryFiles.remove(dir.name) - if (tempFiles != null) { + if (tempFiles) { tempFiles.each { File file -> if (file.directory) { file.deleteDir() @@ -160,7 +158,7 @@ class ProjectGenerator { request.resolve(metadata) // request resolved so we can log what has been requested - logger.info('Processing request{type=' + request.type + ', ' + + log.info('Processing request{type=' + request.type + ', ' + 'dependencies=' + request.dependencies.collect {it.id}+ '}') request.properties.each { model[it.key] = it.value } @@ -177,18 +175,18 @@ class ProjectGenerator { } def write(File src, String name, def model) { - String tmpl = name.endsWith('.groovy') ? name + '.tmpl' : name + def tmpl = name.endsWith('.groovy') ? name + '.tmpl' : name def body = template tmpl, model new File(src, name).write(body) } private void addTempFile(String group, File file) { - def content = temporaryFiles.get(group) + def content = temporaryFiles[group] if (content == null) { - content = new ArrayList() - temporaryFiles.put(group, content) + content = [] + temporaryFiles[group] = content } - content.add(file) + content << file } } diff --git a/initializr/src/main/groovy/io/spring/initializr/ProjectRequest.groovy b/initializr/src/main/groovy/io/spring/initializr/ProjectRequest.groovy index b922ec57..fd50720a 100644 --- a/initializr/src/main/groovy/io/spring/initializr/ProjectRequest.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/ProjectRequest.groovy @@ -16,8 +16,7 @@ package io.spring.initializr -import org.slf4j.Logger -import org.slf4j.LoggerFactory +import groovy.util.logging.Slf4j /** * A request to generate a project. @@ -26,10 +25,9 @@ import org.slf4j.LoggerFactory * @author Stephane Nicoll * @since 1.0 */ +@Slf4j class ProjectRequest { - private static final Logger logger = LoggerFactory.getLogger(ProjectRequest.class) - def style = [] String name @@ -51,19 +49,17 @@ class ProjectRequest { * Resolve this instance against the specified {@link InitializrMetadata} */ void resolve(InitializrMetadata metadata) { - if (style == null || style.size() == 0) { - style = [] - } + style = style ?: [] if (!style.class.isArray() && !(style instanceof Collection)) { style = [style] } dependencies = style.collect { - InitializrMetadata.Dependency dependency = metadata.getDependency(it) + def dependency = metadata.getDependency(it) if (dependency == null) { if (it.contains(':')) { throw new IllegalArgumentException('Unknown dependency ' + it + ' check project metadata') } - logger.warn('No known dependency for style ' + it + ' assuming spring-boot-starter') + log.warn('No known dependency for style ' + it + ' assuming spring-boot-starter') dependency = new InitializrMetadata.Dependency() dependency.asSpringBootStarter(it) } @@ -98,7 +94,7 @@ class ProjectRequest { * dependency */ protected addDefaultDependency() { - InitializrMetadata.Dependency root = new InitializrMetadata.Dependency() + def root = new InitializrMetadata.Dependency() root.id = 'root_starter' root.asSpringBootStarter('') dependencies << root diff --git a/initializr/src/main/groovy/io/spring/initializr/SpringBootMetadataReader.groovy b/initializr/src/main/groovy/io/spring/initializr/SpringBootMetadataReader.groovy index b92c68fa..b5e46302 100644 --- a/initializr/src/main/groovy/io/spring/initializr/SpringBootMetadataReader.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/SpringBootMetadataReader.groovy @@ -36,8 +36,8 @@ class SpringBootMetadataReader { * Parse the content of the metadata at the specified url */ SpringBootMetadataReader(String url) { - RestTemplate restTemplate = new RestTemplate() - String content = restTemplate.getForObject(url, String.class) + def restTemplate = new RestTemplate() + def content = restTemplate.getForObject(url, String.class) this.content = new JsonSlurper().parseText(content) } @@ -46,9 +46,9 @@ class SpringBootMetadataReader { */ List getBootVersions() { content.projectReleases.collect { - InitializrMetadata.BootVersion version = new InitializrMetadata.BootVersion() + def version = new InitializrMetadata.BootVersion() version.id = it.version - String name = it.versionDisplayName + def name = it.versionDisplayName version.name = (it.snapshot ? name + ' (SNAPSHOT)' : name) version.setDefault(it.current) version diff --git a/initializr/src/main/groovy/io/spring/initializr/support/GroovyTemplate.groovy b/initializr/src/main/groovy/io/spring/initializr/support/GroovyTemplate.groovy index 677f92a5..1e5b941f 100644 --- a/initializr/src/main/groovy/io/spring/initializr/support/GroovyTemplate.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/support/GroovyTemplate.groovy @@ -37,8 +37,8 @@ class GroovyTemplate { static String template(TemplateEngine engine, String name, Map model) throws IOException, CompilationFailedException, ClassNotFoundException { - Writable writable = getTemplate(engine, name).make(model) - StringWriter result = new StringWriter() + def writable = getTemplate(engine, name).make(model) + def result = new StringWriter() writable.writeTo(result) result.toString() } @@ -46,14 +46,14 @@ class GroovyTemplate { static Template getTemplate(TemplateEngine engine, String name) throws CompilationFailedException, ClassNotFoundException, IOException { - File file = new File("templates", name) + def file = new File("templates", name) if (file.exists()) { return engine.createTemplate(file) } - ClassLoader classLoader = GroovyTemplate.class.getClassLoader() - URL resource = classLoader.getResource("templates/" + name) - if (resource != null) { + def classLoader = GroovyTemplate.class.classLoader + def resource = classLoader.getResource("templates/" + name) + if (resource) { return engine.createTemplate(resource) } diff --git a/initializr/src/main/groovy/io/spring/initializr/web/MainController.groovy b/initializr/src/main/groovy/io/spring/initializr/web/MainController.groovy index 7a459282..086263cd 100644 --- a/initializr/src/main/groovy/io/spring/initializr/web/MainController.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/web/MainController.groovy @@ -16,11 +16,10 @@ package io.spring.initializr.web +import groovy.util.logging.Slf4j import io.spring.initializr.InitializrMetadata import io.spring.initializr.ProjectGenerator import io.spring.initializr.ProjectRequest -import org.slf4j.Logger -import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpHeaders @@ -41,16 +40,15 @@ import org.springframework.web.bind.annotation.ResponseBody * @since 1.0 */ @Controller +@Slf4j class MainController extends AbstractInitializrController { - private static final Logger logger = LoggerFactory.getLogger(MainController.class) - @Autowired private ProjectGenerator projectGenerator @ModelAttribute ProjectRequest projectRequest() { - ProjectRequest request = new ProjectRequest() + def request = new ProjectRequest() metadataProvider.get().initializeProjectRequest(request) request } @@ -96,12 +94,12 @@ class MainController extends AbstractInitializrController { ResponseEntity springZip(ProjectRequest request) { def dir = projectGenerator.generateProjectStructure(request) - File download = projectGenerator.createDistributionFile(dir, '.zip') + def download = projectGenerator.createDistributionFile(dir, '.zip') new AntBuilder().zip(destfile: download) { zipfileset(dir: dir, includes: '**') } - logger.info("Uploading: ${download} (${download.bytes.length} bytes)") + log.info("Uploading: ${download} (${download.bytes.length} bytes)") def result = new ResponseEntity(download.bytes, ['Content-Type': 'application/zip'] as HttpHeaders, HttpStatus.OK) @@ -114,12 +112,12 @@ class MainController extends AbstractInitializrController { ResponseEntity springTgz(ProjectRequest request) { def dir = projectGenerator.generateProjectStructure(request) - File download = projectGenerator.createDistributionFile(dir, '.tgz') + def download = projectGenerator.createDistributionFile(dir, '.tgz') new AntBuilder().tar(destfile: download, compression: 'gzip') { zipfileset(dir:dir, includes:'**') } - logger.info("Uploading: ${download} (${download.bytes.length} bytes)") + log.info("Uploading: ${download} (${download.bytes.length} bytes)") def result = new ResponseEntity(download.bytes, ['Content-Type':'application/x-compress'] as HttpHeaders, HttpStatus.OK) diff --git a/initializr/src/test/groovy/io/spring/initializr/DefaultInitializrMetadataProviderTests.groovy b/initializr/src/test/groovy/io/spring/initializr/DefaultInitializrMetadataProviderTests.groovy index c2eb0304..c6fd4c66 100644 --- a/initializr/src/test/groovy/io/spring/initializr/DefaultInitializrMetadataProviderTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/DefaultInitializrMetadataProviderTests.groovy @@ -28,16 +28,16 @@ class DefaultInitializrMetadataProviderTests { @Test void bootVersionsAreReplaced() { - InitializrMetadata metadata = new InitializrMetadataBuilder() + def metadata = new InitializrMetadataBuilder() .addBootVersion('0.0.9.RELEASE', true).addBootVersion('0.0.8.RELEASE', false).validateAndGet() assertEquals '0.0.9.RELEASE', metadata.defaults.bootVersion - DefaultInitializrMetadataProvider provider = new DefaultInitializrMetadataProvider(metadata) + def provider = new DefaultInitializrMetadataProvider(metadata) - InitializrMetadata updatedMetadata = provider.get() + def updatedMetadata = provider.get() assertNotNull updatedMetadata.bootVersions assertFalse 'Boot versions must be set', updatedMetadata.bootVersions.isEmpty() - String defaultVersion = null + def defaultVersion = null updatedMetadata.bootVersions.each { assertFalse '0.0.9.RELEASE should have been removed', '0.0.9.RELEASE'.equals(it.id) assertFalse '0.0.8.RELEASE should have been removed', '0.0.8.RELEASE'.equals(it.id) diff --git a/initializr/src/test/groovy/io/spring/initializr/InitializrMetadataTests.groovy b/initializr/src/test/groovy/io/spring/initializr/InitializrMetadataTests.groovy index 9c14a867..ec0dcee4 100644 --- a/initializr/src/test/groovy/io/spring/initializr/InitializrMetadataTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/InitializrMetadataTests.groovy @@ -35,7 +35,7 @@ class InitializrMetadataTests { @Test void setCoordinatesFromId() { - InitializrMetadata.Dependency dependency = createDependency('org.foo:bar:1.2.3') + def dependency = createDependency('org.foo:bar:1.2.3') metadata.validateDependency(dependency) assertEquals 'org.foo', dependency.groupId assertEquals 'bar', dependency.artifactId @@ -45,7 +45,7 @@ class InitializrMetadataTests { @Test void setCoordinatesFromIdNoVersion() { - InitializrMetadata.Dependency dependency = createDependency('org.foo:bar') + def dependency = createDependency('org.foo:bar') metadata.validateDependency(dependency) assertEquals 'org.foo', dependency.groupId assertEquals 'bar', dependency.artifactId @@ -55,7 +55,7 @@ class InitializrMetadataTests { @Test void setIdFromCoordinates() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.groupId = 'org.foo' dependency.artifactId = 'bar' dependency.version = '1.0' @@ -65,7 +65,7 @@ class InitializrMetadataTests { @Test void setIdFromCoordinatesNoVersion() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.groupId = 'org.foo' dependency.artifactId = 'bar' metadata.validateDependency(dependency) @@ -74,7 +74,7 @@ class InitializrMetadataTests { @Test void setIdFromSimpleName() { - InitializrMetadata.Dependency dependency = createDependency('web') + def dependency = createDependency('web') metadata.validateDependency(dependency) assertEquals 'org.springframework.boot', dependency.groupId @@ -91,7 +91,7 @@ class InitializrMetadataTests { @Test void invalidIdFormatTooManyColons() { - InitializrMetadata.Dependency dependency = createDependency('org.foo:bar:1.0:test:external') + def dependency = createDependency('org.foo:bar:1.0:test:external') thrown.expect(InvalidInitializrMetadataException) metadata.validateDependency(dependency) @@ -99,7 +99,7 @@ class InitializrMetadataTests { @Test void generateIdWithNoGroupId() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.artifactId = 'bar' thrown.expect(IllegalArgumentException) dependency.generateId() @@ -107,7 +107,7 @@ class InitializrMetadataTests { @Test void generateIdWithNoArtifactId() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.groupId = 'foo' thrown.expect(IllegalArgumentException) dependency.generateId() @@ -115,11 +115,10 @@ class InitializrMetadataTests { @Test void indexedDependencies() { - InitializrMetadata.Dependency dependency = createDependency('first') - InitializrMetadata.Dependency dependency2 = createDependency('second') + def dependency = createDependency('first') + def dependency2 = createDependency('second') - - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('foo', dependency, dependency2).validateAndGet() assertSame dependency, metadata.getDependency('first') @@ -129,10 +128,10 @@ class InitializrMetadataTests { @Test void addTwoDependenciesWithSameId() { - InitializrMetadata.Dependency dependency = createDependency('conflict') - InitializrMetadata.Dependency dependency2 = createDependency('conflict') + def dependency = createDependency('conflict') + def dependency2 = createDependency('conflict') - InitializrMetadataBuilder builder = InitializrMetadataBuilder.withDefaults() + def builder = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('foo', dependency, dependency2) thrown.expect(IllegalArgumentException) @@ -142,11 +141,11 @@ class InitializrMetadataTests { @Test void addDependencyWithAliases() { - InitializrMetadata.Dependency dependency = createDependency('first') + def dependency = createDependency('first') dependency.aliases.add('alias1') dependency.aliases.add('alias2') - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('foo', dependency).validateAndGet() assertSame dependency, metadata.getDependency('first') @@ -156,13 +155,13 @@ class InitializrMetadataTests { @Test void aliasClashWithAnotherDependency() { - InitializrMetadata.Dependency dependency = createDependency('first') + def dependency = createDependency('first') dependency.aliases.add('alias1') dependency.aliases.add('alias2') - InitializrMetadata.Dependency dependency2 = createDependency('alias2') + def dependency2 = createDependency('alias2') - InitializrMetadataBuilder builder = InitializrMetadataBuilder.withDefaults() + def builder = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('foo', dependency) .addDependencyGroup('bar', dependency2) @@ -173,14 +172,14 @@ class InitializrMetadataTests { @Test void createProjectRequest() { - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults().validateAndGet() - ProjectRequest request = doCreateProjectRequest(metadata) + def metadata = InitializrMetadataBuilder.withDefaults().validateAndGet() + def request = doCreateProjectRequest(metadata) assertEquals metadata.defaults.groupId, request.groupId } @Test void validateArtifactRepository() { - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults().instance() + def metadata = InitializrMetadataBuilder.withDefaults().instance() metadata.env.artifactRepository = 'http://foo/bar' metadata.validate() assertEquals 'http://foo/bar/', metadata.env.artifactRepository @@ -207,19 +206,19 @@ class InitializrMetadataTests { } private static ProjectRequest doCreateProjectRequest(InitializrMetadata metadata) { - ProjectRequest request = new ProjectRequest() + def request = new ProjectRequest() metadata.initializeProjectRequest(request) request } private static InitializrMetadata.Dependency createDependency(String id) { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.id = id dependency } private static InitializrMetadata.JavaVersion createJavaVersion(String version, boolean selected) { - InitializrMetadata.JavaVersion javaVersion = new InitializrMetadata.JavaVersion() + def javaVersion = new InitializrMetadata.JavaVersion() javaVersion.id = version javaVersion.default = selected javaVersion diff --git a/initializr/src/test/groovy/io/spring/initializr/ProjectGenerationMetricsListenerTests.groovy b/initializr/src/test/groovy/io/spring/initializr/ProjectGenerationMetricsListenerTests.groovy index e6c78d98..5ff4490e 100644 --- a/initializr/src/test/groovy/io/spring/initializr/ProjectGenerationMetricsListenerTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/ProjectGenerationMetricsListenerTests.groovy @@ -36,14 +36,14 @@ class ProjectGenerationMetricsListenerTests { @Before void setup() { - TestCounterService counterService = new TestCounterService() + def counterService = new TestCounterService() listener = new ProjectGenerationMetricsListener(counterService) metricsAssert = new MetricsAssert(counterService) } @Test void projectGenerationCount() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.requests') @@ -51,7 +51,7 @@ class ProjectGenerationMetricsListenerTests { @Test void dependencies() { - ProjectRequest request = initialize() + def request = initialize() request.style << 'security' << 'spring-data' request.resolve(metadata) listener.onGeneratedProject(request) @@ -61,7 +61,7 @@ class ProjectGenerationMetricsListenerTests { @Test void resolvedWebDependency() { - ProjectRequest request = initialize() + def request = initialize() request.style << 'spring-data' request.packaging = 'war' request.resolve(metadata) @@ -72,12 +72,12 @@ class ProjectGenerationMetricsListenerTests { @Test void aliasedDependencyUseStandardId() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.id ='foo' dependency.aliases << 'foo-old' - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('core', dependency).validateAndGet() - ProjectRequest request = new ProjectRequest() + def request = new ProjectRequest() metadata.initializeProjectRequest(request) request.style << 'foo-old' request.resolve(metadata) @@ -87,7 +87,7 @@ class ProjectGenerationMetricsListenerTests { @Test void defaultType() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.type.starter_zip') @@ -95,7 +95,7 @@ class ProjectGenerationMetricsListenerTests { @Test void explicitType() { - ProjectRequest request = initialize() + def request = initialize() request.type = 'build.gradle' request.resolve(metadata) listener.onGeneratedProject(request) @@ -104,7 +104,7 @@ class ProjectGenerationMetricsListenerTests { @Test void defaultPackaging() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.packaging.jar') @@ -112,7 +112,7 @@ class ProjectGenerationMetricsListenerTests { @Test void explicitPackaging() { - ProjectRequest request = initialize() + def request = initialize() request.packaging = 'war' request.resolve(metadata) listener.onGeneratedProject(request) @@ -121,7 +121,7 @@ class ProjectGenerationMetricsListenerTests { @Test void defaultJavaVersion() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.java_version.1_7') @@ -129,7 +129,7 @@ class ProjectGenerationMetricsListenerTests { @Test void explicitJavaVersion() { - ProjectRequest request = initialize() + def request = initialize() request.javaVersion = '1.8' request.resolve(metadata) listener.onGeneratedProject(request) @@ -138,7 +138,7 @@ class ProjectGenerationMetricsListenerTests { @Test void defaultLanguage() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.language.java') @@ -146,7 +146,7 @@ class ProjectGenerationMetricsListenerTests { @Test void explicitLanguage() { - ProjectRequest request = initialize() + def request = initialize() request.language = 'groovy' request.resolve(metadata) listener.onGeneratedProject(request) @@ -155,7 +155,7 @@ class ProjectGenerationMetricsListenerTests { @Test void defaultBootVersion() { - ProjectRequest request = initialize() + def request = initialize() request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.boot_version.1_1_5_RELEASE') @@ -163,7 +163,7 @@ class ProjectGenerationMetricsListenerTests { @Test void explicitBootVersion() { - ProjectRequest request = initialize() + def request = initialize() request.bootVersion = '1.0.2.RELEASE' request.resolve(metadata) listener.onGeneratedProject(request) @@ -172,7 +172,7 @@ class ProjectGenerationMetricsListenerTests { @Test void collectAllMetrics() { - ProjectRequest request = initialize() + def request = initialize() request.style << 'web' << 'security' request.type = 'gradle.zip' request.packaging = 'jar' @@ -191,14 +191,14 @@ class ProjectGenerationMetricsListenerTests { @Test void incrementMetrics() { - ProjectRequest request = initialize() + def request = initialize() request.style << 'security' << 'spring-data' request.resolve(metadata) listener.onGeneratedProject(request) metricsAssert.hasValue(1, 'initializr.requests', 'initializr.dependency.security', 'initializr.dependency.spring-data') - ProjectRequest anotherRequest = initialize() + def anotherRequest = initialize() anotherRequest.style << 'web' << 'spring-data' anotherRequest.resolve(metadata) listener.onGeneratedProject(anotherRequest) @@ -209,7 +209,7 @@ class ProjectGenerationMetricsListenerTests { } private ProjectRequest initialize() { - ProjectRequest request = new ProjectRequest() + def request = new ProjectRequest() metadata.initializeProjectRequest(request) request } diff --git a/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy b/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy index bb989e9b..cdca72d6 100644 --- a/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/ProjectGeneratorTests.groovy @@ -39,18 +39,18 @@ class ProjectGeneratorTests { @Before void setup() { - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('test', 'web', 'security', 'data-jpa', 'aop', 'batch', 'integration').validateAndGet() projectGenerator.metadata = metadata - projectGenerator.tmpdir = folder.newFolder().getAbsolutePath() + projectGenerator.tmpdir = folder.newFolder().absolutePath } @Test void defaultMavenPom() { - ProjectGenerationListener listener = mock(ProjectGenerationListener) + def listener = mock(ProjectGenerationListener) projectGenerator.listeners << listener - ProjectRequest request = createProjectRequest('web') + def request = createProjectRequest('web') generateMavenPom(request).hasStartClass('demo.Application') .hasNoRepository().hasSpringBootStarterDependency('web') verify(listener, times(1)).onGeneratedProject(request) @@ -58,20 +58,20 @@ class ProjectGeneratorTests { @Test void defaultGradleBuild() { - ProjectGenerationListener listener = mock(ProjectGenerationListener) + def listener = mock(ProjectGenerationListener) projectGenerator.listeners << listener - ProjectRequest request = createProjectRequest('web') + def request = createProjectRequest('web') generateGradleBuild(request) verify(listener, times(1)).onGeneratedProject(request) } @Test void defaultProject() { - ProjectGenerationListener listener = mock(ProjectGenerationListener) + def listener = mock(ProjectGenerationListener) projectGenerator.listeners << listener - ProjectRequest request = createProjectRequest('web') + def request = createProjectRequest('web') generateProject(request).isJavaProject().isMavenProject().pomAssert() .hasStartClass('demo.Application').hasNoRepository().hasSpringBootStarterDependency('web') verify(listener, times(1)).onGeneratedProject(request) @@ -79,14 +79,14 @@ class ProjectGeneratorTests { @Test void noDependencyAddsRootStarter() { - ProjectRequest request = createProjectRequest() + def request = createProjectRequest() generateProject(request).isJavaProject().isMavenProject().pomAssert() .hasSpringBootStarterRootDependency() } @Test void mavenPomWithBootSnapshot() { - ProjectRequest request = createProjectRequest('web') + def request = createProjectRequest('web') request.bootVersion = '1.0.1.BUILD-SNAPSHOT' generateMavenPom(request).hasStartClass('demo.Application') .hasSnapshotRepository().hasSpringBootStarterDependency('web') @@ -94,17 +94,17 @@ class ProjectGeneratorTests { @Test void mavenPomWithWebFacet() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.id = 'thymeleaf' dependency.groupId = 'org.foo' dependency.artifactId = 'thymeleaf' dependency.facets << 'web' - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('core', 'web', 'security', 'data-jpa') .addDependencyGroup('test', dependency).validateAndGet() projectGenerator.metadata = metadata - ProjectRequest request = createProjectRequest('thymeleaf') + def request = createProjectRequest('thymeleaf') generateMavenPom(request).hasStartClass('demo.Application') .hasDependency('org.foo', 'thymeleaf') .hasDependenciesCount(2) @@ -113,17 +113,17 @@ class ProjectGeneratorTests { @Test void mavenWarPomWithWebFacet() { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.id = 'thymeleaf' dependency.groupId = 'org.foo' dependency.artifactId = 'thymeleaf' dependency.facets << 'web' - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('core', 'web', 'security', 'data-jpa') .addDependencyGroup('test', dependency).validateAndGet() projectGenerator.metadata = metadata - ProjectRequest request = createProjectRequest('thymeleaf') + def request = createProjectRequest('thymeleaf') request.packaging = 'war' generateMavenPom(request).hasStartClass('demo.Application') .hasSpringBootStarterDependency('tomcat') @@ -135,7 +135,7 @@ class ProjectGeneratorTests { @Test void mavenWarPomWithoutWebFacet() { - ProjectRequest request = createProjectRequest('data-jpa') + def request = createProjectRequest('data-jpa') request.packaging = 'war' generateMavenPom(request).hasStartClass('demo.Application') .hasSpringBootStarterDependency('tomcat') @@ -147,22 +147,22 @@ class ProjectGeneratorTests { } PomAssert generateMavenPom(ProjectRequest request) { - String content = new String(projectGenerator.generateMavenPom(request)) + def content = new String(projectGenerator.generateMavenPom(request)) new PomAssert(content).validateProjectRequest(request) } GradleBuildAssert generateGradleBuild(ProjectRequest request) { - String content = new String(projectGenerator.generateGradleBuild(request)) + def content = new String(projectGenerator.generateGradleBuild(request)) new GradleBuildAssert(content).validateProjectRequest(request) } ProjectAssert generateProject(ProjectRequest request) { - File dir = projectGenerator.generateProjectStructure(request) + def dir = projectGenerator.generateProjectStructure(request) new ProjectAssert(dir) } ProjectRequest createProjectRequest(String... styles) { - ProjectRequest request = new ProjectRequest() + def request = new ProjectRequest() projectGenerator.metadata.initializeProjectRequest(request) request.style.addAll Arrays.asList(styles) request diff --git a/initializr/src/test/groovy/io/spring/initializr/ProjectRequestTests.groovy b/initializr/src/test/groovy/io/spring/initializr/ProjectRequestTests.groovy index 12231e1f..6041dc23 100644 --- a/initializr/src/test/groovy/io/spring/initializr/ProjectRequestTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/ProjectRequestTests.groovy @@ -33,42 +33,42 @@ class ProjectRequestTests { @Test void resolve() { - ProjectRequest request = new ProjectRequest() - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def request = new ProjectRequest() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('code', 'web', 'security', 'spring-data').validateAndGet() request.style << 'web' << 'spring-data' request.resolve(metadata) - assertBootStarter(request.dependencies.get(0), 'web') - assertBootStarter(request.dependencies.get(1), 'spring-data') + assertBootStarter(request.dependencies[0], 'web') + assertBootStarter(request.dependencies[1], 'spring-data') } @Test void resolveFullMetadata() { - ProjectRequest request = new ProjectRequest() - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def request = new ProjectRequest() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('code', createDependency('org.foo', 'acme', '1.2.0')).validateAndGet() request.style << 'org.foo:acme' request.resolve(metadata) - assertDependency(request.dependencies.get(0), 'org.foo', 'acme', '1.2.0') + assertDependency(request.dependencies[0], 'org.foo', 'acme', '1.2.0') } @Test void resolveUnknownSimpleIdAsSpringBootStarter() { - ProjectRequest request = new ProjectRequest() - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def request = new ProjectRequest() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('code', 'org.foo:bar').validateAndGet() request.style << 'org.foo:bar' << 'foo-bar' request.resolve(metadata) - assertDependency(request.dependencies.get(0), 'org.foo', 'bar', null) - assertBootStarter(request.dependencies.get(1), 'foo-bar') + assertDependency(request.dependencies[0], 'org.foo', 'bar', null) + assertBootStarter(request.dependencies[1], 'foo-bar') } @Test void resolveUnknownDependency() { - ProjectRequest request = new ProjectRequest() - InitializrMetadata metadata = InitializrMetadataBuilder.withDefaults() + def request = new ProjectRequest() + def metadata = InitializrMetadataBuilder.withDefaults() .addDependencyGroup('code', 'org.foo:bar').validateAndGet() request.style << 'org.foo:acme' // does not exist and @@ -79,13 +79,13 @@ class ProjectRequestTests { } private static void assertBootStarter(InitializrMetadata.Dependency actual, String name) { - InitializrMetadata.Dependency expected = new InitializrMetadata.Dependency() + def expected = new InitializrMetadata.Dependency() expected.asSpringBootStarter(name) assertDependency(actual, expected.groupId, expected.artifactId, expected.version) } private static InitializrMetadata.Dependency createDependency(String groupId, String artifactId, String version) { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.groupId = groupId dependency.artifactId = artifactId dependency.version = version diff --git a/initializr/src/test/groovy/io/spring/initializr/support/InitializrMetadataBuilder.groovy b/initializr/src/test/groovy/io/spring/initializr/support/InitializrMetadataBuilder.groovy index 109e6747..1b86e62a 100644 --- a/initializr/src/test/groovy/io/spring/initializr/support/InitializrMetadataBuilder.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/support/InitializrMetadataBuilder.groovy @@ -43,10 +43,10 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addDependencyGroup(String name, String... ids) { - InitializrMetadata.DependencyGroup group = new InitializrMetadata.DependencyGroup() + def group = new InitializrMetadata.DependencyGroup() group.name = name for (String id : ids) { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.id = id group.content.add(dependency) } @@ -55,7 +55,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addDependencyGroup(String name, InitializrMetadata.Dependency... dependencies) { - InitializrMetadata.DependencyGroup group = new InitializrMetadata.DependencyGroup() + def group = new InitializrMetadata.DependencyGroup() group.name = name group.content.addAll(dependencies) metadata.dependencies.add(group) @@ -73,7 +73,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addType(String id, boolean defaultValue, String action) { - InitializrMetadata.Type type = new InitializrMetadata.Type() + def type = new InitializrMetadata.Type() type.id = id type.name = id type.default = defaultValue @@ -87,7 +87,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addPackaging(String id, boolean defaultValue) { - InitializrMetadata.Packaging packaging = new InitializrMetadata.Packaging() + def packaging = new InitializrMetadata.Packaging() packaging.id = id packaging.name = id packaging.default = defaultValue @@ -100,7 +100,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addJavaVersion(String version, boolean defaultValue) { - InitializrMetadata.JavaVersion javaVersion = new InitializrMetadata.JavaVersion() + def javaVersion = new InitializrMetadata.JavaVersion() javaVersion.id = version javaVersion.name = version javaVersion.default = defaultValue @@ -113,7 +113,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addLanguage(String id, boolean defaultValue) { - InitializrMetadata.Language language = new InitializrMetadata.Language() + def language = new InitializrMetadata.Language() language.id = id language.name = id language.default = defaultValue @@ -127,7 +127,7 @@ class InitializrMetadataBuilder { } InitializrMetadataBuilder addBootVersion(String id, boolean defaultValue) { - InitializrMetadata.BootVersion bootVersion = new InitializrMetadata.BootVersion() + def bootVersion = new InitializrMetadata.BootVersion() bootVersion.id = id bootVersion.name = id bootVersion.default = defaultValue @@ -135,5 +135,4 @@ class InitializrMetadataBuilder { this } - } \ No newline at end of file diff --git a/initializr/src/test/groovy/io/spring/initializr/support/MetricsAssert.groovy b/initializr/src/test/groovy/io/spring/initializr/support/MetricsAssert.groovy index dab57ec8..2c4530ee 100644 --- a/initializr/src/test/groovy/io/spring/initializr/support/MetricsAssert.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/support/MetricsAssert.groovy @@ -34,7 +34,7 @@ class MetricsAssert { MetricsAssert hasValue(long value, String... metrics) { metrics.each { - Long actual = counterService.values[it] + def actual = counterService.values[it] if (actual == null) { fail('Metric ' + it + ' not found, got ' + counterService.values.keySet()) } @@ -45,7 +45,7 @@ class MetricsAssert { MetricsAssert hasNoValue(String... metrics) { metrics.each { - assertEquals 'Metric ' + it + ' should not be registered', null, counterService.values.get(it) + assertEquals 'Metric ' + it + ' should not be registered', null, counterService.values[it] } } diff --git a/initializr/src/test/groovy/io/spring/initializr/support/PomAssert.groovy b/initializr/src/test/groovy/io/spring/initializr/support/PomAssert.groovy index 9190db67..7c4c7186 100644 --- a/initializr/src/test/groovy/io/spring/initializr/support/PomAssert.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/support/PomAssert.groovy @@ -37,13 +37,13 @@ class PomAssert { final XpathEngine eng final Document doc - final Map dependencies = new HashMap() + final Map dependencies = [:] PomAssert(String content) { eng = XMLUnit.newXpathEngine() - Map context = new HashMap() - context.put 'pom', 'http://maven.apache.org/POM/4.0.0' - SimpleNamespaceContext namespaceContext = new SimpleNamespaceContext(context) + def context = [:] + context['pom'] = 'http://maven.apache.org/POM/4.0.0' + def namespaceContext = new SimpleNamespaceContext(context) eng.namespaceContext = namespaceContext doc = XMLUnit.buildControlDocument(content) parseDependencies() @@ -123,9 +123,9 @@ class PomAssert { PomAssert hasDependency(String groupId, String artifactId, String version) { def id = generateId(groupId, artifactId) - def dependency = dependencies.get(id) + def dependency = dependencies[id] assertNotNull 'No dependency found with ' + id + ' --> ' + dependencies.keySet(), dependency - if (version != null) { + if (version) { assertEquals 'Wrong version for '+dependency, version, dependency.version } this @@ -144,8 +144,8 @@ class PomAssert { def hasRepository(String name) { def nodes = eng.getMatchingNodes(createRootNodeXPath('repositories/pom:repository/pom:id'), doc) - for (int i = 0; i < nodes.getLength(); i++) { - if (name.equals(nodes.item(i).getTextContent())) { + for (int i = 0; i < nodes.length; i++) { + if (name.equals(nodes.item(i).textContent)) { return } } @@ -154,8 +154,8 @@ class PomAssert { def hasPluginRepository(String name) { def nodes = eng.getMatchingNodes(createRootNodeXPath('pluginRepositories/pom:pluginRepository/pom:id'), doc) - for (int i = 0; i < nodes.getLength(); i++) { - if (name.equals(nodes.item(i).getTextContent())) { + for (int i = 0; i < nodes.length; i++) { + if (name.equals(nodes.item(i).textContent)) { return } } @@ -175,27 +175,27 @@ class PomAssert { for (int i = 0; i < nodes.length; i++) { def item = nodes.item(i) if (item instanceof Element) { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() - Element element = (Element) item + def dependency = new InitializrMetadata.Dependency() + def element = (Element) item def groupId = element.getElementsByTagName('groupId') if (groupId.length > 0) { - dependency.groupId = groupId.item(0).getTextContent() + dependency.groupId = groupId.item(0).textContent } def artifactId = element.getElementsByTagName('artifactId') if (artifactId.length > 0) { - dependency.artifactId = artifactId.item(0).getTextContent() + dependency.artifactId = artifactId.item(0).textContent } def version = element.getElementsByTagName('version') if (version.length > 0) { - dependency.version = version.item(0).getTextContent() + dependency.version = version.item(0).textContent } - dependencies.put(dependency.generateId(), dependency) + dependencies[dependency.generateId()] = dependency } } } private static String generateId(String groupId, String artifactId) { - InitializrMetadata.Dependency dependency = new InitializrMetadata.Dependency() + def dependency = new InitializrMetadata.Dependency() dependency.groupId = groupId dependency.artifactId = artifactId dependency.generateId() diff --git a/initializr/src/test/groovy/io/spring/initializr/support/TestCounterService.groovy b/initializr/src/test/groovy/io/spring/initializr/support/TestCounterService.groovy index 6aea2f1b..9e1fc74e 100644 --- a/initializr/src/test/groovy/io/spring/initializr/support/TestCounterService.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/support/TestCounterService.groovy @@ -25,22 +25,24 @@ import org.springframework.boot.actuate.metrics.CounterService */ class TestCounterService implements CounterService { - final Map values = new HashMap<>() + final Map values = [:] @Override void increment(String metricName) { - Long value = values.get(metricName) - value != null ? values.put(metricName, ++value) : values.put(metricName, 1) + def value = values[metricName] + def valueToSet = value ? ++value : 1 + values[metricName] = valueToSet } @Override void decrement(String metricName) { - Long value = values.get(metricName) - value != null ? values.put(metricName, --value) : values.put(metricName, -1) + def value = values[metricName] + def valueToSet = value ? --value : -1 + values[metricName] = valueToSet } @Override void reset(String metricName) { - values.put(metricName, 0) + values[metricName] = 0 } } diff --git a/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializerControllerFormIntegrationTests.groovy b/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializerControllerFormIntegrationTests.groovy index da4ffa9b..0bc76c64 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializerControllerFormIntegrationTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializerControllerFormIntegrationTests.groovy @@ -49,11 +49,11 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac @Before void setup() { - MockMvc mockMvc = MockMvcBuilders + def mockMvc = MockMvcBuilders .webAppContextSetup(context) .build() webClient = new WebClient() - webClient.setWebConnection(new MockMvcWebConnection(mockMvc, '')) + webClient.webConnection = new MockMvcWebConnection(mockMvc, '') } @After @@ -63,8 +63,8 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac @Test void createDefaultProject() { - HomePage page = home() - ProjectAssert projectAssert = zipProjectAssert(page.generateProject()) + def page = home() + def projectAssert = zipProjectAssert(page.generateProject()) projectAssert.isMavenProject().isJavaProject().hasStaticAndTemplatesResources(false) .pomAssert().hasDependenciesCount(2) .hasSpringBootStarterRootDependency().hasSpringBootStarterDependency('test') @@ -72,13 +72,13 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac @Test void createProjectWithCustomDefaults() { - HomePage page = home() + def page = home() page.groupId = 'com.acme' page.artifactId = 'foo-bar' page.name = 'My project' page.description = 'A description for my project' page.dependencies << 'web' << 'data-jpa' - ProjectAssert projectAssert = zipProjectAssert(page.generateProject()) + def projectAssert = zipProjectAssert(page.generateProject()) projectAssert.isMavenProject().isJavaProject().hasStaticAndTemplatesResources(true) projectAssert.pomAssert().hasGroupId('com.acme').hasArtifactId('foo-bar') @@ -90,18 +90,18 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac @Test void createSimpleGradleProject() { - HomePage page = home() + def page = home() page.type = 'gradle.zip' page.dependencies << 'data-jpa' - ProjectAssert projectAssert = zipProjectAssert(page.generateProject()) + def projectAssert = zipProjectAssert(page.generateProject()) projectAssert.isGradleProject().isJavaProject().hasStaticAndTemplatesResources(false) } @Test void createWarProject() { - HomePage page = home() + def page = home() page.packaging = 'war' - ProjectAssert projectAssert = zipProjectAssert(page.generateProject()) + def projectAssert = zipProjectAssert(page.generateProject()) projectAssert.isMavenProject().isJavaWarProject() .pomAssert().hasPackaging('war').hasDependenciesCount(3) .hasSpringBootStarterDependency('web') // Added with war packaging @@ -110,8 +110,8 @@ abstract class AbstractInitializerControllerFormIntegrationTests extends Abstrac } HomePage home() { - WebRequest request = new WebRequest(new URL('http://localhost' + homeContext()), 'text/html') - HtmlPage home = webClient.getPage(request) + def request = new WebRequest(new URL('http://localhost' + homeContext()), 'text/html') + def home = webClient.getPage(request) createHomePage(home) } diff --git a/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.groovy b/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.groovy index 35b431d1..a436726f 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.groovy @@ -59,7 +59,7 @@ abstract class AbstractInitializrControllerIntegrationTests { } String htmlHome() { - HttpHeaders headers = new HttpHeaders() + def headers = new HttpHeaders() headers.setAccept([MediaType.TEXT_HTML]) restTemplate.exchange(createUrl('/'), HttpMethod.GET, new HttpEntity(headers), String).body } @@ -79,7 +79,7 @@ abstract class AbstractInitializrControllerIntegrationTests { } ProjectAssert projectAssert(byte[] content, ArchiveType archiveType) { - File archiveFile = writeArchive(content) + def archiveFile = writeArchive(content) def project = folder.newFolder() switch (archiveType) { diff --git a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerDefaultsIntegrationTests.groovy b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerDefaultsIntegrationTests.groovy index 0e0e2d7d..0cea557f 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerDefaultsIntegrationTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerDefaultsIntegrationTests.groovy @@ -17,15 +17,15 @@ class MainControllerDefaultsIntegrationTests extends AbstractInitializrControlle @Test void generateDefaultPom() { - String content = restTemplate.getForObject(createUrl('/pom.xml?style=web'), String) - PomAssert pomAssert = new PomAssert(content) + def content = restTemplate.getForObject(createUrl('/pom.xml?style=web'), String) + def pomAssert = new PomAssert(content) pomAssert.hasGroupId('org.foo').hasArtifactId('foo-bar').hasVersion('1.2.4-SNAPSHOT').hasPackaging('jar') .hasName('FooBar').hasDescription('FooBar Project').hasStartClass('org.foo.demo.Application') } @Test void defaultsAppliedToHome() { - String body = htmlHome() + def body = htmlHome() assertTrue 'custom groupId not found', body.contains('org.foo') assertTrue 'custom artifactId not found', body.contains('foo-bar') assertTrue 'custom name not found', body.contains('FooBar') diff --git a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerEnvIntegrationTests.groovy b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerEnvIntegrationTests.groovy index b69a505b..a2a650ef 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerEnvIntegrationTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerEnvIntegrationTests.groovy @@ -32,7 +32,7 @@ class MainControllerEnvIntegrationTests extends AbstractInitializrControllerInte @Test void downloadCliWithCustomRepository() { - HttpEntity entity = restTemplate.getForEntity(createUrl('/spring'), HttpEntity.class) + def entity = restTemplate.getForEntity(createUrl('/spring'), HttpEntity.class) assertEquals HttpStatus.FOUND, entity.getStatusCode() assertEquals new URI('https://repo.spring.io/lib-release/org/springframework/boot/spring-boot-cli/1.1.4.RELEASE' + '/spring-boot-cli-1.1.4.RELEASE-bin.zip'), entity.getHeaders().getLocation() diff --git a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerIntegrationTests.groovy b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerIntegrationTests.groovy index d12d8abf..b3f14442 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/MainControllerIntegrationTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/MainControllerIntegrationTests.groovy @@ -93,7 +93,7 @@ class MainControllerIntegrationTests extends AbstractInitializrControllerIntegra } private void assertSpringCliRedirect(String context, String extension) { - ResponseEntity entity = restTemplate.getForEntity(createUrl(context), ResponseEntity.class) + def entity = restTemplate.getForEntity(createUrl(context), ResponseEntity.class) assertEquals HttpStatus.FOUND, entity.getStatusCode() assertEquals new URI('https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.1.4.RELEASE' + '/spring-boot-cli-1.1.4.RELEASE-bin.'+extension), entity.getHeaders().getLocation() @@ -102,15 +102,15 @@ class MainControllerIntegrationTests extends AbstractInitializrControllerIntegra @Test // Test that the current output is exactly what we expect void validateCurrentProjectMetadata() { - String json = restTemplate.getForObject(createUrl('/'), String.class) - JSONObject expected = readJson('1.0') + def json = restTemplate.getForObject(createUrl('/'), String.class) + def expected = readJson('1.0') JSONAssert.assertEquals(expected, new JSONObject(json), JSONCompareMode.STRICT) } @Test // Test that the current code complies "at least" with 1.0 void validateProjectMetadata10() { - String json = restTemplate.getForObject(createUrl('/'), String.class) - JSONObject expected = readJson('1.0') + def json = restTemplate.getForObject(createUrl('/'), String.class) + def expected = readJson('1.0') JSONAssert.assertEquals(expected, new JSONObject(json), JSONCompareMode.LENIENT) } @@ -118,11 +118,11 @@ class MainControllerIntegrationTests extends AbstractInitializrControllerIntegra void metricsAvailableByDefault() { downloadZip('/starter.zip?packaging=jar&javaVersion=1.8&style=web&style=jpa') def result = metricsEndpoint() - Long requests = result['counter.initializr.requests'] - Long packaging = result['counter.initializr.packaging.jar'] - Long javaVersion = result['counter.initializr.java_version.1_8'] - Long webDependency = result['counter.initializr.dependency.web'] - Long jpaDependency = result['counter.initializr.dependency.jpa'] + def requests = result['counter.initializr.requests'] + def packaging = result['counter.initializr.packaging.jar'] + def javaVersion = result['counter.initializr.java_version.1_8'] + def webDependency = result['counter.initializr.dependency.web'] + def jpaDependency = result['counter.initializr.dependency.jpa'] downloadZip('/starter.zip?packaging=jar&javaVersion=1.8&style=web') // No jpa dep this time @@ -140,7 +140,7 @@ class MainControllerIntegrationTests extends AbstractInitializrControllerIntegra } private def metricsEndpoint() { - JsonSlurper slurper = new JsonSlurper() + def slurper = new JsonSlurper() slurper.parseText(restTemplate.getForObject(createUrl('/metrics'), String)) } @@ -148,80 +148,80 @@ class MainControllerIntegrationTests extends AbstractInitializrControllerIntegra @Test void homeIsForm() { - String body = htmlHome() + def body = htmlHome() assertTrue 'Wrong body:\n' + body, body.contains('action="/starter.zip"') } @Test void homeIsJson() { - String body = restTemplate.getForObject(createUrl('/'), String) + def body = restTemplate.getForObject(createUrl('/'), String) assertTrue('Wrong body:\n' + body, body.contains('{"dependencies"')) } @Test void webIsAddedPom() { - String body = restTemplate.getForObject(createUrl('/pom.xml?packaging=war'), String) + def body = restTemplate.getForObject(createUrl('/pom.xml?packaging=war'), String) assertTrue('Wrong body:\n' + body, body.contains('spring-boot-starter-web')) assertTrue('Wrong body:\n' + body, body.contains('provided')) } @Test void webIsAddedGradle() { - String body = restTemplate.getForObject(createUrl('/build.gradle?packaging=war'), String) + def body = restTemplate.getForObject(createUrl('/build.gradle?packaging=war'), String) assertTrue('Wrong body:\n' + body, body.contains('spring-boot-starter-web')) assertTrue('Wrong body:\n' + body, body.contains('providedRuntime')) } @Test void infoHasExternalProperties() { - String body = restTemplate.getForObject(createUrl('/info'), String) + def body = restTemplate.getForObject(createUrl('/info'), String) assertTrue('Wrong body:\n' + body, body.contains('"spring-boot"')) assertTrue('Wrong body:\n' + body, body.contains('"version":"1.1.4.RELEASE"')) } @Test void homeHasWebStyle() { - String body = htmlHome() + def body = htmlHome() assertTrue('Wrong body:\n' + body, body.contains('name="style" value="web"')) } @Test void homeHasBootVersion() { - String body = htmlHome() + def body = htmlHome() assertTrue('Wrong body:\n' + body, body.contains('name="bootVersion"')) assertTrue('Wrong body:\n' + body, body.contains('1.2.0.BUILD-SNAPSHOT"')) } @Test void downloadStarter() { - byte[] body = restTemplate.getForObject(createUrl('starter.zip'), byte[]) + def body = restTemplate.getForObject(createUrl('starter.zip'), byte[]) assertNotNull(body) assertTrue(body.length > 100) } @Test void installer() { - ResponseEntity response = restTemplate.getForEntity(createUrl('install.sh'), String) + def response = restTemplate.getForEntity(createUrl('install.sh'), String) assertEquals(HttpStatus.OK, response.getStatusCode()) assertNotNull(response.body) } private ProjectAssert downloadZip(String context) { - byte[] body = restTemplate.getForObject(createUrl(context), byte[]) + def body = restTemplate.getForObject(createUrl(context), byte[]) zipProjectAssert(body) } private ProjectAssert downloadTgz(String context) { - byte[] body = restTemplate.getForObject(createUrl(context), byte[]) + def body = restTemplate.getForObject(createUrl(context), byte[]) tgzProjectAssert(body) } private static JSONObject readJson(String version) { def resource = new ClassPathResource('metadata/test-default-' + version + '.json') - def stream = resource.getInputStream() + def stream = resource.inputStream try { - String json = StreamUtils.copyToString(stream, Charset.forName('UTF-8')) + def json = StreamUtils.copyToString(stream, Charset.forName('UTF-8')) new JSONObject(json) } finally { stream.close() diff --git a/initializr/src/test/groovy/io/spring/initializr/web/support/DefaultHomePage.groovy b/initializr/src/test/groovy/io/spring/initializr/web/support/DefaultHomePage.groovy index 4d7b6d79..a2de9af4 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/support/DefaultHomePage.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/support/DefaultHomePage.groovy @@ -38,8 +38,8 @@ class DefaultHomePage extends HomePage { } private void select(String selectId, String value) { - if (value != null) { - HtmlSelect input = page.getHtmlElementById(selectId) + if (value) { + def input = page.getHtmlElementById(selectId) input.setSelectedAttribute(value, true) } } diff --git a/initializr/src/test/groovy/io/spring/initializr/web/support/HomePage.groovy b/initializr/src/test/groovy/io/spring/initializr/web/support/HomePage.groovy index 2c2057c9..76c0e3b5 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/support/HomePage.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/support/HomePage.groovy @@ -49,8 +49,8 @@ abstract class HomePage { */ byte[] generateProject() { setup() - HtmlButton submit = page.getElementByName('generate-project') - Page newMessagePage = submit.click(); + def submit = page.getElementByName('generate-project') + def newMessagePage = submit.click(); newMessagePage.webResponse.contentAsStream.bytes } @@ -68,21 +68,21 @@ abstract class HomePage { } protected void setTextValue(String elementId, String value) { - if (value != null) { - HtmlTextInput input = page.getHtmlElementById(elementId) + if (value) { + def input = page.getHtmlElementById(elementId) input.setValueAttribute(value) } } protected void selectDependencies(List dependencies) { - List styles = page.getElementsByName("style") - Map allStyles = new HashMap<>() + def styles = page.getElementsByName("style") + def allStyles = [:] for (HtmlCheckBoxInput checkBoxInput : styles) { - allStyles.put(checkBoxInput.getValueAttribute(), checkBoxInput) + allStyles[checkBoxInput.getValueAttribute()] = checkBoxInput } for (String dependency : dependencies) { - HtmlCheckBoxInput checkBox = allStyles.get(dependency) - if (checkBox != null) { + def checkBox = allStyles.get(dependency) + if (checkBox) { checkBox.checked = true } else { throw new IllegalArgumentException('No dependency with name ' diff --git a/initializr/src/test/groovy/io/spring/initializr/web/support/StsHomePage.groovy b/initializr/src/test/groovy/io/spring/initializr/web/support/StsHomePage.groovy index d1b23aaf..a45ce1b7 100644 --- a/initializr/src/test/groovy/io/spring/initializr/web/support/StsHomePage.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/web/support/StsHomePage.groovy @@ -37,7 +37,7 @@ class StsHomePage extends HomePage { } private void select(String selectId, String value) { - if (value != null) { + if (value) { page.getElementsByIdAndOrName(selectId).each { it.checked = value.equals(it.defaultValue) }