diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java index 295d97fa..46ea695a 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfiguration.java @@ -49,7 +49,7 @@ class InitializrStatsAutoConfiguration { private final StatsProperties statsProperties; - public InitializrStatsAutoConfiguration(StatsProperties statsProperties) { + InitializrStatsAutoConfiguration(StatsProperties statsProperties) { this.statsProperties = statsProperties; } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java index 673dbc2d..1ea7bf42 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/BomRangesInfoContributor.java @@ -45,7 +45,7 @@ public class BomRangesInfoContributor implements InfoContributor { .forEach((k, v) -> { if (v.getMappings() != null && !v.getMappings().isEmpty()) { Map bom = new LinkedHashMap<>(); - v.getMappings().forEach(it -> { + v.getMappings().forEach((it) -> { String requirement = "Spring Boot " + it.determineVersionRangeRequirement(); bom.put(it.getVersion(), requirement); diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java index fa1a586a..10c9a53d 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/info/DependencyRangesInfoContributor.java @@ -19,6 +19,7 @@ package io.spring.initializr.actuate.info; import java.util.LinkedHashMap; import java.util.Map; +import io.spring.initializr.metadata.Dependency; import io.spring.initializr.metadata.InitializrMetadataProvider; import io.spring.initializr.util.Version; import io.spring.initializr.util.VersionRange; @@ -44,47 +45,9 @@ public class DependencyRangesInfoContributor implements InfoContributor { @Override public void contribute(Info.Builder builder) { Map details = new LinkedHashMap<>(); - this.metadataProvider.get().getDependencies().getAll().forEach(d -> { + this.metadataProvider.get().getDependencies().getAll().forEach((d) -> { if (d.getBom() == null) { - if (!ObjectUtils.isEmpty(d.getMappings())) { - Map dep = new LinkedHashMap<>(); - d.getMappings().forEach(it -> { - if (it.getRange() != null && it.getVersion() != null) { - dep.put(it.getVersion(), it.getRange()); - } - }); - if (!dep.isEmpty()) { - if (d.getRange() == null) { - boolean openRange = dep.values().stream() - .anyMatch(v -> v.getHigherVersion() == null); - if (!openRange) { - Version higher = null; - for (VersionRange versionRange : dep.values()) { - Version candidate = versionRange.getHigherVersion(); - if (higher == null) { - higher = candidate; - } - else if (candidate.compareTo(higher) > 0) { - higher = candidate; - } - } - ; - dep.put("managed", new VersionRange(higher)); - } - } - Map depInfo = new LinkedHashMap<>(); - dep.forEach((k, r) -> { - depInfo.put(k, "Spring Boot " + r); - }); - details.put(d.getId(), depInfo); - } - } - else if (d.getVersion() != null && d.getRange() != null) { - Map dep = new LinkedHashMap<>(); - String requirement = "Spring Boot " + d.getRange(); - dep.put(d.getVersion(), requirement); - details.put(d.getId(), dep); - } + contribute(details, d); } }); if (!details.isEmpty()) { @@ -92,4 +55,50 @@ public class DependencyRangesInfoContributor implements InfoContributor { } } + private void contribute(Map details, Dependency d) { + if (!ObjectUtils.isEmpty(d.getMappings())) { + Map dep = new LinkedHashMap<>(); + d.getMappings().forEach((it) -> { + if (it.getRange() != null && it.getVersion() != null) { + dep.put(it.getVersion(), it.getRange()); + } + }); + if (!dep.isEmpty()) { + if (d.getRange() == null) { + boolean openRange = dep.values().stream() + .anyMatch((v) -> v.getHigherVersion() == null); + if (!openRange) { + Version higher = getHigher(dep); + dep.put("managed", new VersionRange(higher)); + } + } + Map depInfo = new LinkedHashMap<>(); + dep.forEach((k, r) -> { + depInfo.put(k, "Spring Boot " + r); + }); + details.put(d.getId(), depInfo); + } + } + else if (d.getVersion() != null && d.getRange() != null) { + Map dep = new LinkedHashMap<>(); + String requirement = "Spring Boot " + d.getRange(); + dep.put(d.getVersion(), requirement); + details.put(d.getId(), dep); + } + } + + private Version getHigher(Map dep) { + Version higher = null; + for (VersionRange versionRange : dep.values()) { + Version candidate = versionRange.getHigherVersion(); + if (higher == null) { + higher = candidate; + } + else if (candidate.compareTo(higher) > 0) { + higher = candidate; + } + } + return higher; + } + } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/metric/ProjectGenerationMetricsListener.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/metric/ProjectGenerationMetricsListener.java index 97746f9a..7af38a5e 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/metric/ProjectGenerationMetricsListener.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/metric/ProjectGenerationMetricsListener.java @@ -54,7 +54,7 @@ public class ProjectGenerationMetricsListener { } protected void handleProjectRequest(ProjectRequest request) { - increment(key("requests"));// Total number of requests + increment(key("requests")); // Total number of requests handleDependencies(request); handleType(request); handleJavaVersion(request); @@ -67,7 +67,7 @@ public class ProjectGenerationMetricsListener { protected void handleDependencies(ProjectRequest request) { List dependencies = request.getResolvedDependencies(); if (dependencies != null) { - dependencies.forEach(it -> { + dependencies.forEach((it) -> { if (!ProjectRequest.DEFAULT_STARTER.equals(it.getId())) { String id = sanitize(it.getId()); increment(key("dependency." + id)); diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java index 2867b536..7333e1e7 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectGenerationStatPublisher.java @@ -27,7 +27,6 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.event.EventListener; import org.springframework.http.MediaType; import org.springframework.http.RequestEntity; -import org.springframework.retry.RetryCallback; import org.springframework.retry.support.RetryTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.util.StringUtils; @@ -86,11 +85,10 @@ public class ProjectGenerationStatPublisher { .post(this.statsProperties.getElastic().getEntityUrl()) .contentType(MediaType.APPLICATION_JSON).body(json); - this.retryTemplate - .execute((RetryCallback) context -> { - this.restTemplate.exchange(request, String.class); - return null; - }); + this.retryTemplate.execute((context) -> { + this.restTemplate.exchange(request, String.class); + return null; + }); } catch (Exception ex) { log.warn(String.format( diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java index 76e33a3f..18b1b298 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/ProjectRequestDocumentFactory.java @@ -103,7 +103,7 @@ public class ProjectRequestDocumentFactory { List dependencies = new ArrayList<>(); dependencies.addAll(request.getStyle()); dependencies.addAll(request.getDependencies()); - dependencies.forEach(id -> { + dependencies.forEach((id) -> { if (metadata.getDependencies().get(id) != null) { document.getDependencies().add(id); } diff --git a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/StatsProperties.java b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/StatsProperties.java index fa3ac05b..f1ba49b8 100644 --- a/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/StatsProperties.java +++ b/initializr-actuator/src/main/java/io/spring/initializr/actuate/stat/StatsProperties.java @@ -38,6 +38,9 @@ public class StatsProperties { return this.elastic; } + /** + * Elasicsearch configuration. + */ public static final class Elastic { /** @@ -51,7 +54,7 @@ public class StatsProperties { private String username; /** - * Elastic service password + * Elastic service password. */ private String password; diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java index f74aef1d..9e841d42 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/ActuatorIntegrationTests.java @@ -25,10 +25,10 @@ import io.spring.initializr.web.AbstractInitializrIntegrationTests.Config; import org.junit.Test; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.test.context.ActiveProfiles; import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT; /** * Tests for actuator specific features. @@ -36,7 +36,7 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen * @author Stephane Nicoll */ @ActiveProfiles("test-default") -@SpringBootTest(classes = Config.class, webEnvironment = RANDOM_PORT, properties = "management.endpoints.web.exposure.include=info,metrics") +@SpringBootTest(classes = Config.class, webEnvironment = WebEnvironment.RANDOM_PORT, properties = "management.endpoints.web.exposure.include=info,metrics") public class ActuatorIntegrationTests extends AbstractFullStackInitializrIntegrationTests { diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java index 4e780e39..6b778216 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/autoconfigure/InitializrStatsAutoConfigurationTests.java @@ -79,7 +79,7 @@ public class InitializrStatsAutoConfigurationTests { @Bean public RestTemplateCustomizer testRestTemplateCustomizer() { - return b -> b.setErrorHandler(errorHandler); + return (b) -> b.setErrorHandler(errorHandler); } } diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java index 710ecdfe..5a6b6595 100755 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/stat/MainControllerStatsIntegrationTests.java @@ -39,8 +39,6 @@ import org.springframework.web.client.HttpClientErrorException; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; /** * Integration tests for stats processing. @@ -88,8 +86,7 @@ public class MainControllerStatsIntegrationTests String authorization = content.authorization; assertThat(authorization).as("Authorization header must be set").isNotNull(); - assertTrue("Wrong value for authorization header", - authorization.startsWith("Basic ")); + assertThat(authorization).startsWith("Basic "); String token = authorization.substring("Basic ".length(), authorization.length()); String[] data = new String(Base64Utils.decodeFromString(token)).split(":"); assertThat(data[0]).as("Wrong user from " + token).isEqualTo("test-user"); @@ -129,8 +126,9 @@ public class MainControllerStatsIntegrationTests StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertFalse("requestIpv4 property should not be set if value is not a valid IPv4", - json.has("requestIpv4")); + assertThat(json.has("requestIpv4")) + .as("requestIpv4 property should not be set if value is not a valid IPv4") + .isFalse(); } @Test @@ -142,8 +140,9 @@ public class MainControllerStatsIntegrationTests StatsMockController.Content content = this.statsMockController.stats.get(0); JsonNode json = parseJson(content.json); - assertFalse("requestCountry property should not be set if value is set to xx", - json.has("requestCountry")); + assertThat(json.has("requestCountry")) + .as("requestCountry property should not be set if value is set to xx") + .isFalse(); } @Test diff --git a/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java b/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java index a4428e78..bb58a54f 100644 --- a/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java +++ b/initializr-actuator/src/test/java/io/spring/initializr/actuate/test/MetricsAssert.java @@ -38,14 +38,14 @@ public class MetricsAssert { public MetricsAssert hasValue(long value, String... metrics) { Arrays.asList(metrics).forEach( - metric -> assertThat(this.meterRegistry.get(metric).counter().count()) + (metric) -> assertThat(this.meterRegistry.get(metric).counter().count()) .isEqualTo(value)); return this; } public MetricsAssert hasNoValue(String... metrics) { - Arrays.asList(metrics).forEach(metric -> assertThat( - Search.in(this.meterRegistry).name(n -> n.startsWith(metric)).counter()) + Arrays.asList(metrics).forEach((metric) -> assertThat( + Search.in(this.meterRegistry).name((n) -> n.startsWith(metric)).counter()) .isNull()); return this; } diff --git a/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java b/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java index 3117e45e..67c71234 100755 --- a/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java +++ b/initializr-docs/src/test/java/io/spring/initializr/stub/ClientApplicationTests.java @@ -1,3 +1,19 @@ +/* + * Copyright 2012-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package io.spring.initializr.stub; import java.net.URI; diff --git a/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java b/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java index 910beeb6..f24bf9bc 100644 --- a/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java +++ b/initializr-docs/src/test/java/io/spring/initializr/stub/SampleApp.java @@ -1,3 +1,19 @@ +/* + * Copyright 2012-2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package io.spring.initializr.stub; import io.spring.initializr.actuate.autoconfigure.InitializrActuatorEndpointsAutoConfiguration; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/CommandLineHelpGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/CommandLineHelpGenerator.java index 7551d523..47b5ca3c 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/CommandLineHelpGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/CommandLineHelpGenerator.java @@ -53,6 +53,9 @@ public class CommandLineHelpGenerator { /** * Generate the capabilities of the service as a generic plain text document. Used * when no particular agent was detected. + * @param metadata the initializr metadata + * @param serviceUrl the service URL + * @return the generic capabilities text document */ public String generateGenericCapabilities(InitializrMetadata metadata, String serviceUrl) { @@ -63,6 +66,9 @@ public class CommandLineHelpGenerator { /** * Generate the capabilities of the service using "curl" as a plain text document. + * @param metadata the initializr metadata + * @param serviceUrl the service URL + * @return the generic capabilities text document */ public String generateCurlCapabilities(InitializrMetadata metadata, String serviceUrl) { @@ -74,6 +80,9 @@ public class CommandLineHelpGenerator { /** * Generate the capabilities of the service using "HTTPie" as a plain text document. + * @param metadata the initializr metadata + * @param serviceUrl the service URL + * @return the generic capabilities text document */ public String generateHttpieCapabilities(InitializrMetadata metadata, String serviceUrl) { @@ -86,6 +95,9 @@ public class CommandLineHelpGenerator { /** * Generate the capabilities of the service using Spring Boot CLI as a plain text * document. + * @param metadata the initializr metadata + * @param serviceUrl the service URL + * @return the generic capabilities text document */ public String generateSpringBootCliCapabilities(InitializrMetadata metadata, String serviceUrl) { @@ -216,10 +228,13 @@ public class CommandLineHelpGenerator { } return String.join(",", type.getTags().entrySet().stream() - .map(entry -> entry.getKey() + ":" + entry.getValue()) + .map((entry) -> entry.getKey() + ":" + entry.getValue()) .toArray(String[]::new)); } + /** + * Utility to generate a text table. + */ private static class TableGenerator { static final String NEW_LINE = System.getProperty("line.separator"); @@ -229,6 +244,8 @@ public class CommandLineHelpGenerator { *

* The {@code content} is a two-dimensional array holding the rows of the table. * The first entry holds the header of the table. + * @param content the table content + * @return the generated table */ public static String generate(String[][] content) { StringBuilder sb = new StringBuilder(); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectFailedEvent.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectFailedEvent.java index 514d79ed..0c17a4c8 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectFailedEvent.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectFailedEvent.java @@ -32,6 +32,7 @@ public class ProjectFailedEvent extends ProjectRequestEvent { /** * Return the cause of the failure. + * @return the cause of the failure */ public Exception getCause() { return this.cause; diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java index c5e809ca..a6a0340d 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java @@ -142,6 +142,8 @@ public class ProjectGenerator { /** * Generate a Maven pom for the specified {@link ProjectRequest}. + * @param request the project request + * @return the Maven POM */ public byte[] generateMavenPom(ProjectRequest request) { try { @@ -162,6 +164,8 @@ public class ProjectGenerator { /** * Generate a Gradle build file for the specified {@link ProjectRequest}. + * @param request the project request + * @return the gradle build */ public byte[] generateGradleBuild(ProjectRequest request) { try { @@ -184,6 +188,8 @@ public class ProjectGenerator { /** * Generate a project structure for the specified {@link ProjectRequest}. Returns a * directory containing the project. + * @param request the project request + * @return the generated project structure */ public File generateProjectStructure(ProjectRequest request) { try { @@ -201,6 +207,9 @@ public class ProjectGenerator { /** * Generate a project structure for the specified {@link ProjectRequest} and resolved * model. + * @param request the project request + * @param model the source model + * @return the generated project structure */ protected File generateProjectStructure(ProjectRequest request, Map model) { @@ -268,7 +277,10 @@ public class ProjectGenerator { /** * Create a distribution file for the specified project structure directory and - * extension + * extension. + * @param dir the directory + * @param extension the file extension + * @return the distribution file */ public File createDistributionFile(File dir, String extension) { File download = new File(getTemporaryDirectory(), dir.getName() + extension); @@ -286,6 +298,7 @@ public class ProjectGenerator { /** * Clean all the temporary files that are related to this root directory. + * @param dir the directory to clean * @see #createDistributionFile */ public void cleanTempFiles(File dir) { @@ -313,7 +326,7 @@ public class ProjectGenerator { } /** - * Generate a {@code .gitignore} file for the specified {@link ProjectRequest} + * Generate a {@code .gitignore} file for the specified {@link ProjectRequest}. * @param dir the root directory of the project * @param request the request to handle */ @@ -331,7 +344,7 @@ public class ProjectGenerator { /** * Resolve the specified {@link ProjectRequest} and return the model to use to - * generate the project + * generate the project. * @param originalRequest the request to handle * @return a model for that request */ @@ -399,7 +412,7 @@ public class ProjectGenerator { request.getBoms().forEach((k, v) -> { if (v.getVersionProperty() != null) { request.getBuildProperties().getVersions() - .computeIfAbsent(v.getVersionProperty(), key -> v::getVersion); + .computeIfAbsent(v.getVersionProperty(), (key) -> v::getVersion); } }); @@ -470,7 +483,7 @@ public class ProjectGenerator { private List> buildResolvedBoms(ProjectRequest request) { return request.getBoms().values().stream() .sorted(Comparator.comparing(BillOfMaterials::getOrder)) - .map(bom -> toBomModel(request, bom)).collect(Collectors.toList()); + .map((bom) -> toBomModel(request, bom)).collect(Collectors.toList()); } private Map toBomModel(ProjectRequest request, BillOfMaterials bom) { @@ -684,12 +697,12 @@ public class ProjectGenerator { } private void addTempFile(String group, File file) { - this.temporaryFiles.computeIfAbsent(group, key -> new ArrayList<>()).add(file); + this.temporaryFiles.computeIfAbsent(group, (key) -> new ArrayList<>()).add(file); } private static List filterDependencies(List dependencies, String scope) { - return dependencies.stream().filter(dep -> scope.equals(dep.getScope())) + return dependencies.stream().filter((dep) -> scope.equals(dep.getScope())) .sorted(DependencyComparator.INSTANCE).collect(Collectors.toList()); } @@ -729,7 +742,7 @@ public class ProjectGenerator { private boolean finalCarriageReturn; - public Imports(String language) { + Imports(String language) { this.language = language; } diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequest.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequest.java index 0152ddd1..b8db38b5 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequest.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequest.java @@ -88,6 +88,7 @@ public class ProjectRequest extends BasicProjectRequest { /** * Return the additional parameters that can be used to further identify the request. + * @return the parameters */ public Map getParameters() { return this.parameters; @@ -103,6 +104,7 @@ public class ProjectRequest extends BasicProjectRequest { /** * Return the build properties. + * @return the build properties */ public BuildProperties getBuildProperties() { return this.buildProperties; @@ -111,6 +113,7 @@ public class ProjectRequest extends BasicProjectRequest { /** * Initializes this instance with the defaults defined in the specified * {@link InitializrMetadata}. + * @param metadata the initializr metadata */ public void initialize(InitializrMetadata metadata) { BeanWrapperImpl bean = new BeanWrapperImpl(this); @@ -126,14 +129,15 @@ public class ProjectRequest extends BasicProjectRequest { } /** - * Resolve this instance against the specified {@link InitializrMetadata} + * Resolve this instance against the specified {@link InitializrMetadata}. + * @param metadata the initializr metadata */ public void resolve(InitializrMetadata metadata) { List depIds = !getStyle().isEmpty() ? getStyle() : getDependencies(); String actualBootVersion = getBootVersion() != null ? getBootVersion() : metadata.getBootVersions().getDefault().getId(); Version requestedVersion = Version.parse(actualBootVersion); - this.resolvedDependencies = depIds.stream().map(it -> { + this.resolvedDependencies = depIds.stream().map((it) -> { Dependency dependency = metadata.getDependencies().get(it); if (dependency == null) { throw new InvalidProjectRequestException( @@ -141,8 +145,8 @@ public class ProjectRequest extends BasicProjectRequest { } return dependency.resolve(requestedVersion); }).collect(Collectors.toList()); - this.resolvedDependencies.forEach(it -> { - it.getFacets().forEach(facet -> { + this.resolvedDependencies.forEach((it) -> { + it.getFacets().forEach((facet) -> { if (!this.facets.contains(facet)) { this.facets.add(facet); } @@ -157,7 +161,7 @@ public class ProjectRequest extends BasicProjectRequest { } if (it.getRepository() != null) { String repositoryId = it.getRepository(); - this.repositories.computeIfAbsent(repositoryId, s -> metadata + this.repositories.computeIfAbsent(repositoryId, (s) -> metadata .getConfiguration().getEnv().getRepositories().get(s)); } }); @@ -205,6 +209,8 @@ public class ProjectRequest extends BasicProjectRequest { /** * Set the repositories that this instance should use based on the * {@link InitializrMetadata} and the requested Spring Boot {@link Version}. + * @param metadata the initializr metadata + * @param requestedVersion the requested version */ protected void initializeRepositories(InitializrMetadata metadata, Version requestedVersion) { @@ -214,9 +220,9 @@ public class ProjectRequest extends BasicProjectRequest { this.repositories.put("spring-milestones", metadata.getConfiguration() .getEnv().getRepositories().get("spring-milestones")); } - this.boms.values().forEach(it -> it.getRepositories().forEach(key -> { + this.boms.values().forEach((it) -> it.getRepositories().forEach((key) -> { this.repositories.computeIfAbsent(key, - s -> metadata.getConfiguration().getEnv().getRepositories().get(s)); + (s) -> metadata.getConfiguration().getEnv().getRepositories().get(s)); })); } @@ -252,7 +258,7 @@ public class ProjectRequest extends BasicProjectRequest { BillOfMaterials bom = metadata.getConfiguration().getEnv().getBoms() .get(bomId).resolve(requestedVersion); bom.getAdditionalBoms() - .forEach(id -> resolveBom(metadata, id, requestedVersion)); + .forEach((id) -> resolveBom(metadata, id, requestedVersion)); this.boms.put(bomId, bom); } } @@ -260,6 +266,7 @@ public class ProjectRequest extends BasicProjectRequest { /** * Update this request once it has been resolved with the specified * {@link InitializrMetadata}. + * @param metadata the initializr metadata */ protected void afterResolution(InitializrMetadata metadata) { if ("war".equals(getPackaging())) { @@ -280,7 +287,7 @@ public class ProjectRequest extends BasicProjectRequest { } /** - * Add a default dependency if the project does not define any dependency + * Add a default dependency if the project does not define any dependency. */ protected void addDefaultDependency() { Dependency root = new Dependency(); @@ -291,13 +298,16 @@ public class ProjectRequest extends BasicProjectRequest { /** * Specify if this request has the web facet enabled. + * @return {@code true} if the project has the web facet */ public boolean hasWebFacet() { return hasFacet("web"); } /** - * Specify if this request has the specified facet enabled + * Specify if this request has the specified facet enabled. + * @param facet the facet to check + * @return {@code true} if the project has the facet */ public boolean hasFacet(String facet) { return this.facets.contains(facet); diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequestEvent.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequestEvent.java index 7599dacb..98e1d929 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequestEvent.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectRequestEvent.java @@ -36,6 +36,7 @@ public abstract class ProjectRequestEvent { /** * Return the {@link ProjectRequest} used to generate the project. + * @return the project request */ public ProjectRequest getProjectRequest() { return this.projectRequest; @@ -43,6 +44,7 @@ public abstract class ProjectRequestEvent { /** * Return the timestamp at which the request was processed. + * @return the timestamp that the request was processed */ public long getTimestamp() { return this.timestamp; diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java index 89ae80e6..ec234b90 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/BillOfMaterials.java @@ -84,6 +84,7 @@ public class BillOfMaterials { /** * Return the version of the BOM. Can be {@code null} if it is provided via a mapping. + * @return The version of the BOM or {@code null} */ public String getVersion() { return this.version; @@ -96,7 +97,8 @@ public class BillOfMaterials { /** * Return the {@link VersionProperty} to use to externalize the version of the BOM. * When this is set, a version property is automatically added rather than setting the - * version in the bom declaration itself. + * version in the BOM declaration itself. + * @return the version property */ public VersionProperty getVersionProperty() { return this.versionProperty; @@ -113,7 +115,8 @@ public class BillOfMaterials { /** * Return the relative order of this BOM where lower values have higher priority. The * default value is {@code Integer.MAX_VALUE}, indicating lowest priority. The Spring - * Boot dependencies bom has an order of 100. + * Boot dependencies BOM has an order of 100. + * @return the relative order of this BOM */ public Integer getOrder() { return this.order; @@ -126,6 +129,7 @@ public class BillOfMaterials { /** * Return the BOM(s) that should be automatically included if this BOM is required. * Can be {@code null} if it is provided via a mapping. + * @return the additional BOMs */ public List getAdditionalBoms() { return this.additionalBoms; @@ -138,6 +142,7 @@ public class BillOfMaterials { /** * Return the repositories that are required if this BOM is required. Can be * {@code null} if it is provided via a mapping. + * @return the repositories */ public List getRepositories() { return this.repositories; @@ -160,7 +165,7 @@ public class BillOfMaterials { } public void updateVersionRange(VersionParser versionParser) { - this.mappings.forEach(it -> { + this.mappings.forEach((it) -> { try { it.range = versionParser.parseRange(it.versionRange); } @@ -175,6 +180,8 @@ public class BillOfMaterials { * Resolve this instance according to the specified Spring Boot {@link Version}. * Return a {@link BillOfMaterials} instance that holds the version, repositories and * additional BOMs to use, if any. + * @param bootVersion the Spring Boot version + * @return the bill of materials */ public BillOfMaterials resolve(Version bootVersion) { if (this.mappings.isEmpty()) { @@ -213,6 +220,18 @@ public class BillOfMaterials { + "]"; } + public static BillOfMaterials create(String groupId, String artifactId) { + return new BillOfMaterials(groupId, artifactId); + } + + public static BillOfMaterials create(String groupId, String artifactId, + String version) { + return new BillOfMaterials(groupId, artifactId, version); + } + + /** + * Mapping information. + */ public static class Mapping { private String versionRange; @@ -303,13 +322,4 @@ public class BillOfMaterials { } - public static BillOfMaterials create(String groupId, String artifactId) { - return new BillOfMaterials(groupId, artifactId); - } - - public static BillOfMaterials create(String groupId, String artifactId, - String version) { - return new BillOfMaterials(groupId, artifactId, version); - } - } diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/Defaultable.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/Defaultable.java index 5518b6b4..64e77088 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/Defaultable.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/Defaultable.java @@ -16,8 +16,18 @@ package io.spring.initializr.metadata; +/** + * Metadata with a default value. + * + * @param The value type + * @author Stephane Nicoll + */ public interface Defaultable { + /** + * Return the default value. + * @return the default value + */ T getDefault(); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java index 5abb0e07..8615ea25 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependenciesCapability.java @@ -52,13 +52,16 @@ public class DependenciesCapability extends ServiceCapability getAll() { return Collections.unmodifiableCollection(this.indexedDependencies.values()); @@ -70,13 +73,13 @@ public class DependenciesCapability extends ServiceCapability it.updateVersionRanges(versionParser)); + .forEach((it) -> it.updateVersionRanges(versionParser)); } @Override public void merge(List otherContent) { - otherContent.forEach(group -> { - if (this.content.stream().noneMatch(it -> group.getName() != null + otherContent.forEach((group) -> { + if (this.content.stream().noneMatch((it) -> group.getName() != null && group.getName().equals(it.getName()))) { this.content.add(group); } @@ -86,7 +89,7 @@ public class DependenciesCapability extends ServiceCapability group.content.forEach(dependency -> { + this.content.forEach((group) -> group.content.forEach((dependency) -> { // Apply defaults if (dependency.getVersionRange() == null && group.getVersionRange() != null) { dependency.setVersionRange(group.getVersionRange()); diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/Dependency.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/Dependency.java index 3eee43fb..d25cd387 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/Dependency.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/Dependency.java @@ -18,6 +18,7 @@ package io.spring.initializr.metadata; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.StringTokenizer; @@ -39,18 +40,37 @@ import org.springframework.util.StringUtils; @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Dependency extends MetadataElement implements Describable { + /** + * Compile Scope. + */ public static final String SCOPE_COMPILE = "compile"; + /** + * Compile Only Scope. + */ public static final String SCOPE_COMPILE_ONLY = "compileOnly"; + /** + * Runtime Scope. + */ public static final String SCOPE_RUNTIME = "runtime"; + /** + * Provided Scope. + */ public static final String SCOPE_PROVIDED = "provided"; + /** + * Test Scope. + */ public static final String SCOPE_TEST = "test"; - public static final List SCOPE_ALL = Arrays.asList(SCOPE_COMPILE, - SCOPE_RUNTIME, SCOPE_COMPILE_ONLY, SCOPE_PROVIDED, SCOPE_TEST); + /** + * All scope types. + */ + public static final List SCOPE_ALL = Collections + .unmodifiableList(Arrays.asList(SCOPE_COMPILE, SCOPE_RUNTIME, + SCOPE_COMPILE_ONLY, SCOPE_PROVIDED, SCOPE_TEST)); private List aliases = new ArrayList<>(); @@ -134,17 +154,19 @@ public class Dependency extends MetadataElement implements Describable { } /** - * Specify if the dependency has its coordinates set, i.e. {@code groupId} and + * Returns if the dependency has its coordinates set, i.e. {@code groupId} and * {@code artifactId}. + * @return if the dependency has coordinates */ private boolean hasCoordinates() { return this.groupId != null && this.artifactId != null; } /** - * Define this dependency as a standard spring boot starter with the specified name - *

+ * Define this dependency as a standard spring boot starter with the specified name. * If no name is specified, the root "spring-boot-starter" is assumed. + * @param name the starter name or {@code null} + * @return this instance */ public Dependency asSpringBootStarter(String name) { this.groupId = "org.springframework.boot"; @@ -203,7 +225,7 @@ public class Dependency extends MetadataElement implements Describable { ex); } } - this.mappings.forEach(it -> { + this.mappings.forEach((it) -> { try { it.range = versionParser.parseRange(it.versionRange); } @@ -218,6 +240,8 @@ public class Dependency extends MetadataElement implements Describable { * Resolve this instance according to the specified Spring Boot {@link Version}. * Return a {@link Dependency} instance that has its state resolved against the * specified version. + * @param bootVersion the Spring Boot version + * @return this instance */ public Dependency resolve(Version bootVersion) { for (Mapping mapping : this.mappings) { @@ -239,6 +263,8 @@ public class Dependency extends MetadataElement implements Describable { /** * Specify if this dependency is available for the specified Spring Boot version. + * @param version the version the check + * @return of the version matches */ public boolean match(Version version) { if (this.range != null) { @@ -248,7 +274,8 @@ public class Dependency extends MetadataElement implements Describable { } /** - * Generate an id using the groupId and artifactId + * Generate an id using the groupId and artifactId. + * @return the generated ID */ public String generateId() { if (this.groupId == null || this.artifactId == null) { @@ -294,6 +321,7 @@ public class Dependency extends MetadataElement implements Describable { /** * Return the default version, can be {@code null} to indicate that the version is * managed by the project and does not need to be specified. + * @return The default version or {@code null} */ public String getVersion() { return this.version; @@ -306,6 +334,7 @@ public class Dependency extends MetadataElement implements Describable { /** * Return the type, can be {@code null} to indicate that the default type should be * used (i.e. {@code jar}). + * @return the type or {@code null} */ public String getType() { return this.type; @@ -318,6 +347,7 @@ public class Dependency extends MetadataElement implements Describable { /** * Return the dependency mapping if an attribute of the dependency differs according * to the Spring Boot version. If no mapping matches, default attributes are used. + * @return the dependency mappings */ public List getMappings() { return this.mappings; @@ -415,6 +445,43 @@ public class Dependency extends MetadataElement implements Describable { + this.version + '\'' + '}'; } + public static Dependency create(String groupId, String artifactId, String version, + String scope) { + Dependency dependency = withId(null, groupId, artifactId, version); + dependency.setScope(scope); + return dependency; + } + + public static Dependency withId(String id, String groupId, String artifactId, + String version, String scope) { + Dependency dependency = new Dependency(); + dependency.setId(id); + dependency.groupId = groupId; + dependency.artifactId = artifactId; + dependency.version = version; + dependency.scope = (scope != null ? scope : SCOPE_COMPILE); + return dependency; + } + + public static Dependency withId(String id, String groupId, String artifactId, + String version) { + return withId(id, groupId, artifactId, version, null); + } + + public static Dependency withId(String id, String groupId, String artifactId) { + return withId(id, groupId, artifactId, null); + } + + public static Dependency withId(String id, String scope) { + Dependency dependency = withId(id, null, null); + dependency.setScope(scope); + return dependency; + } + + public static Dependency withId(String id) { + return withId(id, SCOPE_COMPILE); + } + /** * Map several attribute of the dependency for a given version range. */ @@ -491,41 +558,4 @@ public class Dependency extends MetadataElement implements Describable { } - public static Dependency create(String groupId, String artifactId, String version, - String scope) { - Dependency dependency = withId(null, groupId, artifactId, version); - dependency.setScope(scope); - return dependency; - } - - public static Dependency withId(String id, String groupId, String artifactId, - String version, String scope) { - Dependency dependency = new Dependency(); - dependency.setId(id); - dependency.groupId = groupId; - dependency.artifactId = artifactId; - dependency.version = version; - dependency.scope = (scope != null ? scope : SCOPE_COMPILE); - return dependency; - } - - public static Dependency withId(String id, String groupId, String artifactId, - String version) { - return withId(id, groupId, artifactId, version, null); - } - - public static Dependency withId(String id, String groupId, String artifactId) { - return withId(id, groupId, artifactId, null); - } - - public static Dependency withId(String id, String scope) { - Dependency dependency = withId(id, null, null); - dependency.setScope(scope); - return dependency; - } - - public static Dependency withId(String id) { - return withId(id, SCOPE_COMPILE); - } - } diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyGroup.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyGroup.java index f4e5538d..77fefa41 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyGroup.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyGroup.java @@ -43,6 +43,7 @@ public class DependencyGroup { /** * Return the name of this group. + * @return the name of the group */ public String getName() { return this.name; @@ -55,6 +56,7 @@ public class DependencyGroup { /** * Return the default version range to apply to all dependencies of this group unless * specified otherwise. + * @return the version range */ public String getVersionRange() { return this.versionRange; @@ -67,6 +69,7 @@ public class DependencyGroup { /** * Return the default bom to associate to all dependencies of this group unless * specified otherwise. + * @return the BOM */ public String getBom() { return this.bom; @@ -79,6 +82,7 @@ public class DependencyGroup { /** * Return the default repository to associate to all dependencies of this group unless * specified otherwise. + * @return the repository */ public String getRepository() { return this.repository; @@ -90,11 +94,17 @@ public class DependencyGroup { /** * Return the {@link Dependency dependencies} of this group. + * @return the content */ public List getContent() { return this.content; } + /** + * Create a new {@link DependencyGroup} instance with the given name. + * @param name the name of the group + * @return a new {@link DependencyGroup} instance + */ public static DependencyGroup create(String name) { DependencyGroup group = new DependencyGroup(); group.setName(name); diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyMetadataProvider.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyMetadataProvider.java index 3c7a7468..9d9f032e 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyMetadataProvider.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/DependencyMetadataProvider.java @@ -27,7 +27,10 @@ public interface DependencyMetadataProvider { /** * Return the dependency metadata to use for the specified {@code bootVersion}. + * @param metadata the intializr metadata + * @param bootVersion the Spring Boot version + * @return the dependency metadata */ DependencyMetadata get(InitializrMetadata metadata, Version bootVersion); -} \ No newline at end of file +} diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/Describable.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/Describable.java index a00df291..5c13a02f 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/Describable.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/Describable.java @@ -16,8 +16,17 @@ package io.spring.initializr.metadata; +/** + * An item that can describe itself. + * + * @author Stephane Nicoll + */ public interface Describable { + /** + * Returns the item description. + * @return the description + */ String getDescription(); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java index a5e713a8..e37bfd40 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrConfiguration.java @@ -62,12 +62,14 @@ public class InitializrConfiguration { /** * Generate a suitable application name based on the specified name. If no suitable * application name can be generated from the specified {@code name}, the - * {@link Env#fallbackApplicationName} is used instead. + * {@link Env#getFallbackApplicationName()} is used instead. *

* No suitable application name can be generated if the name is {@code null} or if it * contains an invalid character for a class identifier. - * @see Env#fallbackApplicationName - * @see Env#invalidApplicationNames + * @param name The the source name + * @return the generated application name + * @see Env#getFallbackApplicationName() + * @see Env#getInvalidApplicationNames() */ public String generateApplicationName(String name) { if (!StringUtils.hasText(name)) { @@ -96,7 +98,10 @@ public class InitializrConfiguration { *

* The package name cannot be cleaned if the specified {@code packageName} is * {@code null} or if it contains an invalid character for a class identifier. - * @see Env#invalidPackageNames + * @param packageName The package name + * @param defaultPackageName the default package name + * @return the cleaned package name + * @see Env#getInvalidPackageNames() */ public String cleanPackageName(String packageName, String defaultPackageName) { if (!StringUtils.hasText(packageName)) { @@ -133,7 +138,7 @@ public class InitializrConfiguration { private static String splitCamelCase(String text) { return String.join("", Arrays.stream(text.split("(? StringUtils.capitalize(it.toLowerCase())) + .map((it) -> StringUtils.capitalize(it.toLowerCase())) .toArray(String[]::new)); } @@ -339,6 +344,9 @@ public class InitializrConfiguration { other.repositories.forEach(this.repositories::putIfAbsent); } + /** + * Gradle details. + */ public static class Gradle { /** @@ -361,6 +369,9 @@ public class InitializrConfiguration { } + /** + * Kotlin details. + */ public static class Kotlin { /** @@ -405,7 +416,7 @@ public class InitializrConfiguration { public void validate() { VersionParser simpleParser = new VersionParser(Collections.emptyList()); - this.mappings.forEach(m -> { + this.mappings.forEach((m) -> { if (m.versionRange == null) { throw new InvalidInitializrMetadataException( "VersionRange is mandatory, invalid version mapping for " @@ -421,7 +432,7 @@ public class InitializrConfiguration { } public void updateVersionRange(VersionParser versionParser) { - this.mappings.forEach(it -> { + this.mappings.forEach((it) -> { try { it.range = versionParser.parseRange(it.versionRange); } @@ -478,6 +489,9 @@ public class InitializrConfiguration { } + /** + * Maven details. + */ public static class Maven { /** @@ -499,6 +513,8 @@ public class InitializrConfiguration { /** * Resolve the parent pom to use. If no custom parent pom is set, the standard * spring boot parent pom with the specified {@code bootVersion} is used. + * @param bootVersion The Spring Boot version + * @return the parent POM */ public ParentPom resolveParentPom(String bootVersion) { return StringUtils.hasText(this.parent.groupId) ? this.parent @@ -506,6 +522,9 @@ public class InitializrConfiguration { "spring-boot-starter-parent", bootVersion); } + /** + * Parent POM details. + */ public static class ParentPom { /** diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java index a199a97a..32e828af 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java @@ -129,7 +129,7 @@ public class InitializrMetadata { } /** - * Merge this instance with the specified argument + * Merge this instance with the specified argument. * @param other the other instance */ public void merge(InitializrMetadata other) { @@ -215,17 +215,19 @@ public class InitializrMetadata { this.bootVersions.getContent().clear(); this.bootVersions.getContent().addAll(versionsMetadata); List bootVersions = this.bootVersions.getContent().stream() - .map(it -> Version.parse(it.getId())).collect(Collectors.toList()); + .map((it) -> Version.parse(it.getId())).collect(Collectors.toList()); VersionParser parser = new VersionParser(bootVersions); this.dependencies.updateVersionRange(parser); this.configuration.getEnv().getBoms().values() - .forEach(it -> it.updateVersionRange(parser)); + .forEach((it) -> it.updateVersionRange(parser)); this.configuration.getEnv().getKotlin().updateVersionRange(parser); } /** * Create an URL suitable to download Spring Boot cli for the specified version and * extension. + * @param extension the required extension + * @return the download URL */ public String createCliDistributionURl(String extension) { String bootVersion = defaultId(this.bootVersions); @@ -236,6 +238,9 @@ public class InitializrMetadata { /** * Create a {@link BillOfMaterials} for the spring boot BOM. + * @param bootVersion the Spring Boot version + * @param versionProperty the property that contains the version + * @return a new {@link BillOfMaterials} instance */ public BillOfMaterials createSpringBootBom(String bootVersion, String versionProperty) { @@ -248,6 +253,7 @@ public class InitializrMetadata { /** * Return the defaults for the capabilities defined on this instance. + * @return the default capabilities */ public Map defaults() { Map defaults = new LinkedHashMap<>(); diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java index d7a1d487..e2366ee5 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataBuilder.java @@ -35,7 +35,7 @@ import org.springframework.util.StringUtils; * @author Stephane Nicoll * @see InitializrMetadataCustomizer */ -public class InitializrMetadataBuilder { +public final class InitializrMetadataBuilder { private final List customizers = new ArrayList<>(); @@ -45,27 +45,11 @@ public class InitializrMetadataBuilder { this.configuration = configuration; } - /** - * Create a builder instance from the specified {@link InitializrProperties}. - * Initialize the configuration to use. - * @see #withInitializrProperties(InitializrProperties) - */ - public static InitializrMetadataBuilder fromInitializrProperties( - InitializrProperties configuration) { - return new InitializrMetadataBuilder(configuration) - .withInitializrProperties(configuration); - } - - /** - * Create an empty builder instance with a default {@link InitializrConfiguration} - */ - public static InitializrMetadataBuilder create() { - return new InitializrMetadataBuilder(new InitializrConfiguration()); - } - /** * Add a {@link InitializrProperties} to be merged with other content. Merges the * settings only and not the configuration. + * @param properties the properties to use + * @return this instance * @see #withInitializrProperties(InitializrProperties, boolean) */ public InitializrMetadataBuilder withInitializrProperties( @@ -77,6 +61,7 @@ public class InitializrMetadataBuilder { * Add a {@link InitializrProperties} to be merged with other content. * @param properties the settings to merge onto this instance * @param mergeConfiguration specify if service configuration should be merged as well + * @return this instance */ public InitializrMetadataBuilder withInitializrProperties( InitializrProperties properties, boolean mergeConfiguration) { @@ -89,6 +74,7 @@ public class InitializrMetadataBuilder { /** * Add a {@link InitializrMetadata} to be merged with other content. * @param resource a resource to a json document describing the metadata to include + * @return this instance */ public InitializrMetadataBuilder withInitializrMetadata(Resource resource) { return withCustomizer(new ResourceInitializrMetadataCustomizer(resource)); @@ -97,6 +83,8 @@ public class InitializrMetadataBuilder { /** * Add a {@link InitializrMetadataCustomizer}. customizers are invoked in their order * of addition. + * @param customizer the customizer to add + * @return this instance * @see InitializrMetadataCustomizer */ public InitializrMetadataBuilder withCustomizer( @@ -107,6 +95,7 @@ public class InitializrMetadataBuilder { /** * Build a {@link InitializrMetadata} based on the state of this builder. + * @return a new {@link InitializrMetadata} instance */ public InitializrMetadata build() { InitializrConfiguration config = this.configuration != null ? this.configuration @@ -121,7 +110,9 @@ public class InitializrMetadataBuilder { } /** - * Creates an empty instance based on the specified {@link InitializrConfiguration} + * Creates an empty instance based on the specified {@link InitializrConfiguration}. + * @param configuration the configuration + * @return a new {@link InitializrMetadata} instance */ protected InitializrMetadata createInstance(InitializrConfiguration configuration) { return new InitializrMetadata(configuration); @@ -129,6 +120,7 @@ public class InitializrMetadataBuilder { /** * Apply defaults to capabilities that have no value. + * @param metadata the initializr metadata */ protected void applyDefaults(InitializrMetadata metadata) { if (!StringUtils.hasText(metadata.getName().getContent())) { @@ -145,6 +137,27 @@ public class InitializrMetadataBuilder { } } + /** + * Create a builder instance from the specified {@link InitializrProperties}. + * Initialize the configuration to use. + * @param configuration the configuration to use + * @return a new {@link InitializrMetadataBuilder} instance + * @see #withInitializrProperties(InitializrProperties) + */ + public static InitializrMetadataBuilder fromInitializrProperties( + InitializrProperties configuration) { + return new InitializrMetadataBuilder(configuration) + .withInitializrProperties(configuration); + } + + /** + * Create an empty builder instance with a default {@link InitializrConfiguration}. + * @return a new {@link InitializrMetadataBuilder} instance + */ + public static InitializrMetadataBuilder create() { + return new InitializrMetadataBuilder(new InitializrConfiguration()); + } + private static class InitializerPropertiesCustomizer implements InitializrMetadataCustomizer { diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataCustomizer.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataCustomizer.java index f0257b63..844209f1 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataCustomizer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataCustomizer.java @@ -26,6 +26,7 @@ public interface InitializrMetadataCustomizer { /** * Customize the {@link InitializrMetadata}, updating or moving around capabilities * before they are validated. + * @param metadata the initalizr metadata */ void customize(InitializrMetadata metadata); diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataProvider.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataProvider.java index ad5fec68..4fe1c538 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataProvider.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadataProvider.java @@ -26,7 +26,8 @@ public interface InitializrMetadataProvider { /** * Return the metadata to use. Rather than keeping a handle to a particular instance, * implementations may decide to refresh or recompute the metadata if necessary. + * @return the initializr metadata */ InitializrMetadata get(); -} \ No newline at end of file +} diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrProperties.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrProperties.java index 8e3cb000..7123c7ad 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrProperties.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrProperties.java @@ -153,6 +153,9 @@ public class InitializrProperties extends InitializrConfiguration { return this.packageName; } + /** + * A simple element from the properties. + */ public static class SimpleElement { /** diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/Link.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/Link.java index 868a7065..64500a85 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/Link.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/Link.java @@ -147,7 +147,7 @@ public class Link { */ public URI expand(Map parameters) { AtomicReference result = new AtomicReference<>(this.href); - this.templateVariables.forEach(var -> { + this.templateVariables.forEach((var) -> { Object value = parameters.get(var); if (value == null) { throw new IllegalArgumentException("Could not expand " + this.href diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/MetadataElement.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/MetadataElement.java index 3a4c759d..1ed8eda0 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/MetadataElement.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/MetadataElement.java @@ -17,7 +17,7 @@ package io.spring.initializr.metadata; /** - * A basic metadata element + * A basic metadata element. * * @author Stephane Nicoll */ @@ -61,4 +61,4 @@ public class MetadataElement { this.name = name; } -} \ No newline at end of file +} diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/ServiceCapability.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/ServiceCapability.java index 4919f4b1..44cafc0b 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/ServiceCapability.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/ServiceCapability.java @@ -26,6 +26,7 @@ import org.springframework.util.StringUtils; * Defines a capability of the initializr service. Each capability is defined by a id and * a {@link ServiceCapabilityType type}. * + * @param The content type * @author Stephane Nicoll */ @JsonIgnoreProperties({ "default", "all" }) @@ -81,11 +82,13 @@ public abstract class ServiceCapability implements Cloneable { /** * Return the "content" of this capability. The structure of the content vastly * depends on the {@link ServiceCapability type} of the capability. + * @return the content */ public abstract T getContent(); /** * Merge the content of this instance with the specified content. + * @param otherContent the content to merge * @see #merge(io.spring.initializr.metadata.ServiceCapability) */ public abstract void merge(T otherContent); @@ -94,6 +97,7 @@ public abstract class ServiceCapability implements Cloneable { * Merge this capability with the specified argument. The service capabilities should * match (i.e have the same {@code id} and {@code type}). Sub-classes may merge * additional content. + * @param other the content to merge */ public void merge(ServiceCapability other) { Assert.notNull(other, "Other must not be null"); diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java index 01079857..a9972e85 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/SingleSelectCapability.java @@ -58,15 +58,17 @@ public class SingleSelectCapability /** * Return the element with the specified id or {@code null} if no such element exists. + * @param id the ID of the element to find + * @return the element or {@code null} */ public DefaultMetadataElement get(String id) { - return this.content.stream().filter(it -> id.equals(it.getId())).findFirst() + return this.content.stream().filter((it) -> id.equals(it.getId())).findFirst() .orElse(null); } @Override public void merge(List otherContent) { - otherContent.forEach(it -> { + otherContent.forEach((it) -> { if (get(it.getId()) == null) { this.content.add(it); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/metadata/TypeCapability.java b/initializr-generator/src/main/java/io/spring/initializr/metadata/TypeCapability.java index e239c3ec..bfebb897 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/metadata/TypeCapability.java +++ b/initializr-generator/src/main/java/io/spring/initializr/metadata/TypeCapability.java @@ -41,10 +41,12 @@ public class TypeCapability extends ServiceCapability> /** * Return the {@link Type} with the specified id or {@code null} if no such type * exists. + * @param id the ID to find + * @return the Type or {@code null} */ public Type get(String id) { return this.content.stream() - .filter(it -> id.equals(it.getId()) || id.equals(it.getStsId())) + .filter((it) -> id.equals(it.getId()) || id.equals(it.getStsId())) .findFirst().orElse(null); } @@ -59,7 +61,7 @@ public class TypeCapability extends ServiceCapability> @Override public void merge(List otherContent) { - otherContent.forEach(it -> { + otherContent.forEach((it) -> { if (get(it.getId()) == null) { this.content.add(it); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/util/Agent.java b/initializr-generator/src/main/java/io/spring/initializr/util/Agent.java index af2a007c..6dbb9449 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/util/Agent.java +++ b/initializr-generator/src/main/java/io/spring/initializr/util/Agent.java @@ -32,7 +32,7 @@ public class Agent { private final AgentId id; /** - * The version of the agent, if any + * The version of the agent, if any. */ private final String version; @@ -63,22 +63,49 @@ public class Agent { */ public enum AgentId { + /** + * CURL. + */ CURL("curl", "curl"), + /** + * HTTPie. + */ HTTPIE("httpie", "HTTPie"), + /** + * JBoss Forge. + */ JBOSS_FORGE("jbossforge", "SpringBootForgeCli"), + /** + * The Spring Boot CLI. + */ SPRING_BOOT_CLI("spring", "SpringBootCli"), + /** + * Spring Tools Suite. + */ STS("sts", "STS"), + /** + * IntelliJ IDEA. + */ INTELLIJ_IDEA("intellijidea", "IntelliJ IDEA"), + /** + * Netbeans. + */ NETBEANS("netbeans", "NetBeans"), + /** + * Visual Studio Code. + */ VSCODE("vscode", "vscode"), + /** + * A generic browser. + */ BROWSER("browser", "Browser"); final String id; diff --git a/initializr-generator/src/main/java/io/spring/initializr/util/TemplateRenderer.java b/initializr-generator/src/main/java/io/spring/initializr/util/TemplateRenderer.java index 2c693967..570e50ac 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/util/TemplateRenderer.java +++ b/initializr-generator/src/main/java/io/spring/initializr/util/TemplateRenderer.java @@ -34,6 +34,8 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.util.ConcurrentReferenceHashMap; /** + * A template renderer backed by Mustache. + * * @author Dave Syer */ public class TemplateRenderer { @@ -46,14 +48,14 @@ public class TemplateRenderer { private final ConcurrentMap templateCaches = new ConcurrentReferenceHashMap<>(); - public TemplateRenderer(Compiler mustache) { - this.mustache = mustache; - } - public TemplateRenderer() { this(mustacheCompiler()); } + public TemplateRenderer(Compiler mustache) { + this.mustache = mustache; + } + public boolean isCache() { return this.cache; } @@ -99,7 +101,7 @@ public class TemplateRenderer { ResourceLoader resourceLoader = new DefaultResourceLoader(); String prefix = "classpath:/templates/"; Charset charset = Charset.forName("UTF-8"); - return name -> new InputStreamReader( + return (name) -> new InputStreamReader( resourceLoader.getResource(prefix + name).getInputStream(), charset); } diff --git a/initializr-generator/src/main/java/io/spring/initializr/util/Version.java b/initializr-generator/src/main/java/io/spring/initializr/util/Version.java index 8d60739b..4f138d17 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/util/Version.java +++ b/initializr-generator/src/main/java/io/spring/initializr/util/Version.java @@ -145,6 +145,68 @@ public final class Version implements Serializable, Comparable { return firstIndex.compareTo(secondIndex); } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.major == null) ? 0 : this.major.hashCode()); + result = prime * result + ((this.minor == null) ? 0 : this.minor.hashCode()); + result = prime * result + ((this.patch == null) ? 0 : this.patch.hashCode()); + result = prime * result + + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Version other = (Version) obj; + if (this.major == null) { + if (other.major != null) { + return false; + } + } + else if (!this.major.equals(other.major)) { + return false; + } + if (this.minor == null) { + if (other.minor != null) { + return false; + } + } + else if (!this.minor.equals(other.minor)) { + return false; + } + if (this.patch == null) { + if (other.patch != null) { + return false; + } + } + else if (!this.patch.equals(other.patch)) { + return false; + } + if (this.qualifier == null) { + if (other.qualifier != null) { + return false; + } + } + else if (!this.qualifier.equals(other.qualifier)) { + return false; + } + return true; + } + + /** + * A version qualifier. + */ public static class Qualifier implements Serializable { public Qualifier(String qualifier) { @@ -222,65 +284,6 @@ public final class Version implements Serializable, Comparable { } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((this.major == null) ? 0 : this.major.hashCode()); - result = prime * result + ((this.minor == null) ? 0 : this.minor.hashCode()); - result = prime * result + ((this.patch == null) ? 0 : this.patch.hashCode()); - result = prime * result - + ((this.qualifier == null) ? 0 : this.qualifier.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - Version other = (Version) obj; - if (this.major == null) { - if (other.major != null) { - return false; - } - } - else if (!this.major.equals(other.major)) { - return false; - } - if (this.minor == null) { - if (other.minor != null) { - return false; - } - } - else if (!this.minor.equals(other.minor)) { - return false; - } - if (this.patch == null) { - if (other.patch != null) { - return false; - } - } - else if (!this.patch.equals(other.patch)) { - return false; - } - if (this.qualifier == null) { - if (other.qualifier != null) { - return false; - } - } - else if (!this.qualifier.equals(other.qualifier)) { - return false; - } - return true; - } - private static class VersionQualifierComparator implements Comparator { static final String RELEASE = "RELEASE"; diff --git a/initializr-generator/src/main/java/io/spring/initializr/util/VersionParser.java b/initializr-generator/src/main/java/io/spring/initializr/util/VersionParser.java index 76efd109..dad95b4f 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/util/VersionParser.java +++ b/initializr-generator/src/main/java/io/spring/initializr/util/VersionParser.java @@ -42,6 +42,9 @@ import org.springframework.util.StringUtils; */ public class VersionParser { + /** + * The default {@link VersionParser}. + */ public static final VersionParser DEFAULT = new VersionParser( Collections.emptyList()); @@ -144,7 +147,7 @@ public class VersionParser { private Version findLatestVersion(Integer major, Integer minor, Version.Qualifier qualifier) { - List matches = this.latestVersions.stream().filter(it -> { + List matches = this.latestVersions.stream().filter((it) -> { if (major != null && !major.equals(it.getMajor())) { return false; } diff --git a/initializr-generator/src/main/java/io/spring/initializr/util/VersionProperty.java b/initializr-generator/src/main/java/io/spring/initializr/util/VersionProperty.java index cecddaf8..8e201db5 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/util/VersionProperty.java +++ b/initializr-generator/src/main/java/io/spring/initializr/util/VersionProperty.java @@ -43,6 +43,7 @@ public class VersionProperty implements Serializable, Comparable 0) { return false; } - else if (!lowerInclusive && lower == 0) { + else if (!this.lowerInclusive && lower == 0) { return false; } - if (higherVersion != null) { - int higher = higherVersion.compareTo(version); + if (this.higherVersion != null) { + int higher = this.higherVersion.compareTo(version); if (higher < 0) { return false; } - else if (!higherInclusive && higher == 0) { + else if (!this.higherInclusive && higher == 0) { return false; } } @@ -88,29 +90,30 @@ public class VersionRange { } public Version getLowerVersion() { - return lowerVersion; + return this.lowerVersion; } public boolean isLowerInclusive() { - return lowerInclusive; + return this.lowerInclusive; } public Version getHigherVersion() { - return higherVersion; + return this.higherVersion; } public boolean isHigherInclusive() { - return higherInclusive; + return this.higherInclusive; } @Override public String toString() { StringBuilder sb = new StringBuilder(); - if (lowerVersion != null) { - sb.append(lowerInclusive ? ">=" : ">").append(lowerVersion); + if (this.lowerVersion != null) { + sb.append(this.lowerInclusive ? ">=" : ">").append(this.lowerVersion); } - if (higherVersion != null) { - sb.append(" and ").append(higherInclusive ? "<=" : "<").append(higherVersion); + if (this.higherVersion != null) { + sb.append(" and ").append(this.higherInclusive ? "<=" : "<") + .append(this.higherVersion); } return sb.toString(); } @@ -119,11 +122,12 @@ public class VersionRange { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + (higherInclusive ? 1231 : 1237); + result = prime * result + (this.higherInclusive ? 1231 : 1237); result = prime * result - + ((higherVersion == null) ? 0 : higherVersion.hashCode()); - result = prime * result + (lowerInclusive ? 1231 : 1237); - result = prime * result + ((lowerVersion == null) ? 0 : lowerVersion.hashCode()); + + ((this.higherVersion == null) ? 0 : this.higherVersion.hashCode()); + result = prime * result + (this.lowerInclusive ? 1231 : 1237); + result = prime * result + + ((this.lowerVersion == null) ? 0 : this.lowerVersion.hashCode()); return result; } @@ -139,26 +143,26 @@ public class VersionRange { return false; } VersionRange other = (VersionRange) obj; - if (higherInclusive != other.higherInclusive) { + if (this.higherInclusive != other.higherInclusive) { return false; } - if (higherVersion == null) { + if (this.higherVersion == null) { if (other.higherVersion != null) { return false; } } - else if (!higherVersion.equals(other.higherVersion)) { + else if (!this.higherVersion.equals(other.higherVersion)) { return false; } - if (lowerInclusive != other.lowerInclusive) { + if (this.lowerInclusive != other.lowerInclusive) { return false; } - if (lowerVersion == null) { + if (this.lowerVersion == null) { if (other.lowerVersion != null) { return false; } } - else if (!lowerVersion.equals(other.lowerVersion)) { + else if (!this.lowerVersion.equals(other.lowerVersion)) { return false; } return true; diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorLanguageTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorLanguageTests.java index 4709cd6b..6ee9cc68 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorLanguageTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorLanguageTests.java @@ -23,9 +23,6 @@ import org.junit.runners.Parameterized; import org.springframework.core.io.ClassPathResource; -import static io.spring.initializr.test.generator.ProjectAssert.DEFAULT_APPLICATION_NAME; -import static io.spring.initializr.test.generator.ProjectAssert.DEFAULT_PACKAGE_NAME; - /** * Project generator tests for supported languages. * @@ -58,8 +55,8 @@ public class ProjectGeneratorLanguageTests extends AbstractProjectGeneratorTests public void standardJar() { ProjectRequest request = createProjectRequest(); request.setLanguage(this.language); - generateProject(request).isGenericProject(DEFAULT_PACKAGE_NAME, - DEFAULT_APPLICATION_NAME, this.language, this.extension); + generateProject(request).isGenericProject(ProjectAssert.DEFAULT_PACKAGE_NAME, + ProjectAssert.DEFAULT_APPLICATION_NAME, this.language, this.extension); } @Test @@ -67,8 +64,8 @@ public class ProjectGeneratorLanguageTests extends AbstractProjectGeneratorTests ProjectRequest request = createProjectRequest("web"); request.setLanguage(this.language); request.setPackaging("war"); - generateProject(request).isGenericWarProject(DEFAULT_PACKAGE_NAME, - DEFAULT_APPLICATION_NAME, this.language, this.extension); + generateProject(request).isGenericWarProject(ProjectAssert.DEFAULT_PACKAGE_NAME, + ProjectAssert.DEFAULT_APPLICATION_NAME, this.language, this.extension); } @Test diff --git a/initializr-generator/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java b/initializr-generator/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java index e59b088b..758e6850 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/metadata/InitializrMetadataBuilderTests.java @@ -193,7 +193,8 @@ public class InitializrMetadataBuilderTests { Dependency dependency = Dependency.withId("com.foo:foo:1.0.0"); group.getContent().add(dependency); InitializrMetadata metadata = InitializrMetadataBuilder.create() - .withCustomizer(m -> m.getDependencies().getContent().add(group)).build(); + .withCustomizer((m) -> m.getDependencies().getContent().add(group)) + .build(); assertThat(metadata.getDependencies().getContent()).hasSize(1); assertThat(metadata.getDependencies().getContent().get(0)).isEqualTo(group); } diff --git a/initializr-generator/src/test/java/io/spring/initializr/test/metadata/InitializrMetadataTestBuilder.java b/initializr-generator/src/test/java/io/spring/initializr/test/metadata/InitializrMetadataTestBuilder.java index 050a8438..1cde889f 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/test/metadata/InitializrMetadataTestBuilder.java +++ b/initializr-generator/src/test/java/io/spring/initializr/test/metadata/InitializrMetadataTestBuilder.java @@ -51,7 +51,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addDependencyGroup(String name, String... ids) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DependencyGroup group = new DependencyGroup(); group.setName(name); for (String id : ids) { @@ -66,7 +66,7 @@ public class InitializrMetadataTestBuilder { public InitializrMetadataTestBuilder addDependencyGroup(String name, Dependency... dependencies) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DependencyGroup group = new DependencyGroup(); group.setName(name); group.getContent().addAll(Arrays.asList(dependencies)); @@ -105,7 +105,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addType(Type type) { - this.builder.withCustomizer(it -> it.getTypes().getContent().add(type)); + this.builder.withCustomizer((it) -> it.getTypes().getContent().add(type)); return this; } @@ -114,7 +114,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addPackaging(String id, boolean defaultValue) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DefaultMetadataElement packaging = new DefaultMetadataElement(); packaging.setId(id); packaging.setName(id); @@ -131,7 +131,7 @@ public class InitializrMetadataTestBuilder { public InitializrMetadataTestBuilder addJavaVersion(String version, boolean defaultValue) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DefaultMetadataElement element = new DefaultMetadataElement(); element.setId(version); element.setName(version); @@ -147,7 +147,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addLanguage(String id, boolean defaultValue) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DefaultMetadataElement element = new DefaultMetadataElement(); element.setId(id); element.setName(id); @@ -164,7 +164,7 @@ public class InitializrMetadataTestBuilder { } public InitializrMetadataTestBuilder addBootVersion(String id, boolean defaultValue) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { DefaultMetadataElement element = new DefaultMetadataElement(); element.setId(id); element.setName(id); @@ -182,20 +182,20 @@ public class InitializrMetadataTestBuilder { public InitializrMetadataTestBuilder addBom(String id, BillOfMaterials bom) { this.builder.withCustomizer( - it -> it.getConfiguration().getEnv().getBoms().put(id, bom)); + (it) -> it.getConfiguration().getEnv().getBoms().put(id, bom)); return this; } public InitializrMetadataTestBuilder setGradleEnv( String dependencyManagementPluginVersion) { - this.builder.withCustomizer(it -> it.getConfiguration().getEnv().getGradle() + this.builder.withCustomizer((it) -> it.getConfiguration().getEnv().getGradle() .setDependencyManagementPluginVersion(dependencyManagementPluginVersion)); return this; } public InitializrMetadataTestBuilder setKotlinEnv(String defaultKotlinVersion, Kotlin.Mapping... mappings) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { it.getConfiguration().getEnv().getKotlin() .setDefaultVersion(defaultKotlinVersion); for (Kotlin.Mapping mapping : mappings) { @@ -207,7 +207,7 @@ public class InitializrMetadataTestBuilder { public InitializrMetadataTestBuilder setMavenParent(String groupId, String artifactId, String version, boolean includeSpringBootBom) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { ParentPom parent = it.getConfiguration().getEnv().getMaven().getParent(); parent.setGroupId(groupId); parent.setArtifactId(artifactId); @@ -219,7 +219,7 @@ public class InitializrMetadataTestBuilder { public InitializrMetadataTestBuilder addRepository(String id, String name, String url, boolean snapshotsEnabled) { - this.builder.withCustomizer(it -> { + this.builder.withCustomizer((it) -> { Repository repo = new Repository(); repo.setName(name); try { @@ -234,4 +234,4 @@ public class InitializrMetadataTestBuilder { return this; } -} \ No newline at end of file +} diff --git a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java index d2dea65b..72800d97 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfiguration.java @@ -124,6 +124,9 @@ public class InitializrAutoConfiguration { return new DefaultDependencyMetadataProvider(); } + /** + * Initializr web configuration. + */ @Configuration @ConditionalOnWebApplication static class InitializrWebConfiguration { @@ -154,13 +157,16 @@ public class InitializrAutoConfiguration { } + /** + * Initializr cache configuration. + */ @Configuration @ConditionalOnClass(javax.cache.CacheManager.class) static class InitializrCacheConfiguration { @Bean public JCacheManagerCustomizer initializrCacheManagerCustomizer() { - return cm -> { + return (cm) -> { cm.createCache("initializr.metadata", config().setExpiryPolicyFactory( CreatedExpiryPolicy.factoryOf(Duration.TEN_MINUTES))); cm.createCache("initializr.dependency-metadata", config()); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapper.java index d65b512c..b8aa9b85 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataJsonMapper.java @@ -27,6 +27,8 @@ interface DependencyMetadataJsonMapper { /** * Write a json representation of the specified metadata. + * @param metadata the dependency metadata + * @return the JSON representation */ String write(DependencyMetadata metadata); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java index cbde2bb6..a8541ad9 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/DependencyMetadataV21JsonMapper.java @@ -44,13 +44,13 @@ public class DependencyMetadataV21JsonMapper implements DependencyMetadataJsonMa json.set("dependencies", mapNode(metadata.getDependencies().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, - entry -> mapDependency(entry.getValue()))))); + (entry) -> mapDependency(entry.getValue()))))); json.set("repositories", mapNode(metadata.getRepositories().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, - entry -> mapRepository(entry.getValue()))))); - json.set("boms", mapNode(metadata.getBoms().entrySet().stream().collect( - Collectors.toMap(Map.Entry::getKey, entry -> mapBom(entry.getValue()))))); + (entry) -> mapRepository(entry.getValue()))))); + json.set("boms", mapNode(metadata.getBoms().entrySet().stream().collect(Collectors + .toMap(Map.Entry::getKey, (entry) -> mapBom(entry.getValue()))))); return json.toString(); } diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapper.java index 99774673..3fe0652d 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataJsonMapper.java @@ -27,7 +27,10 @@ public interface InitializrMetadataJsonMapper { /** * Write a json representation of the specified metadata. + * @param metadata The intializr metadata + * @param appUrl the app URL + * @return the JSON representation */ String write(InitializrMetadata metadata, String appUrl); -} \ No newline at end of file +} diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java index f88d56b0..d32382c0 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataV2JsonMapper.java @@ -101,7 +101,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap protected ObjectNode links(ObjectNode parent, List types, String appUrl) { ObjectNode content = nodeFactory.objectNode(); - types.forEach(it -> content.set(it.getId(), link(appUrl, it))); + types.forEach((it) -> content.set(it.getId(), link(appUrl, it))); parent.set("_links", content); return content; } @@ -176,7 +176,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap result.put("description", ((Describable) group).getDescription()); } ArrayNode items = nodeFactory.arrayNode(); - group.getContent().forEach(it -> { + group.getContent().forEach((it) -> { JsonNode dependency = mapDependency(it); if (dependency != null) { items.add(dependency); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataVersion.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataVersion.java index 0894d876..d1c82dd0 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataVersion.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/InitializrMetadataVersion.java @@ -47,4 +47,4 @@ public enum InitializrMetadataVersion { return this.mediaType; } -} \ No newline at end of file +} diff --git a/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java b/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java index ce3a3c46..effcb6bb 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/mapper/LinkMapper.java @@ -27,14 +27,17 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import io.spring.initializr.metadata.Link; /** - * Generate a json representation for {@link Link} + * Generate a json representation for {@link Link}. * * @author Stephane Nicoll */ -public class LinkMapper { +public final class LinkMapper { private static final JsonNodeFactory nodeFactory = JsonNodeFactory.instance; + private LinkMapper() { + } + /** * Map the specified links to a json model. If several links share the same relation, * they are grouped together. @@ -44,8 +47,8 @@ public class LinkMapper { public static ObjectNode mapLinks(List links) { ObjectNode result = nodeFactory.objectNode(); Map> byRel = new LinkedHashMap<>(); - links.forEach( - it -> byRel.computeIfAbsent(it.getRel(), k -> new ArrayList<>()).add(it)); + links.forEach((it) -> byRel.computeIfAbsent(it.getRel(), (k) -> new ArrayList<>()) + .add(it)); byRel.forEach((rel, l) -> { if (l.size() == 1) { ObjectNode root = JsonNodeFactory.instance.objectNode(); @@ -54,7 +57,7 @@ public class LinkMapper { } else { ArrayNode root = JsonNodeFactory.instance.arrayNode(); - l.forEach(link -> { + l.forEach((link) -> { ObjectNode node = JsonNodeFactory.instance.objectNode(); mapLink(link, node); root.add(node); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java b/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java index 72a26280..a11c564c 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/AbstractInitializrController.java @@ -35,7 +35,7 @@ import org.springframework.web.servlet.resource.ResourceUrlProvider; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; /** - * A base controller that uses a {@link InitializrMetadataProvider} + * A base controller that uses a {@link InitializrMetadataProvider}. * * @author Stephane Nicoll */ @@ -50,7 +50,7 @@ public abstract class AbstractInitializrController { protected AbstractInitializrController(InitializrMetadataProvider metadataProvider, ResourceUrlProvider resourceUrlProvider) { this.metadataProvider = metadataProvider; - this.linkTo = link -> { + this.linkTo = (link) -> { String result = resourceUrlProvider.getForLookupPath(link); return result == null ? link : result; }; @@ -73,6 +73,7 @@ public abstract class AbstractInitializrController { /** * Render the home page with the specified template. + * @param model the model data */ protected void renderHome(Map model) { InitializrMetadata metadata = this.metadataProvider.get(); @@ -105,13 +106,14 @@ public abstract class AbstractInitializrController { result.setTitle(types.getTitle()); result.getContent().addAll(types.getContent()); // Only keep project type - result.getContent().removeIf(t -> !"project".equals(t.getTags().get("format"))); + result.getContent().removeIf((t) -> !"project".equals(t.getTags().get("format"))); return result; } /** * Generate a full URL of the service, mostly for use in templates. - * @see io.spring.initializr.metadata.InitializrConfiguration.Env#forceSsl + * @return the app URL + * @see io.spring.initializr.metadata.InitializrConfiguration.Env#isForceSsl() */ protected String generateAppUrl() { ServletUriComponentsBuilder builder = ServletUriComponentsBuilder diff --git a/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java b/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java index 84dc7d52..29ca6a97 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/project/MainController.java @@ -35,6 +35,7 @@ import io.spring.initializr.metadata.DependencyMetadataProvider; import io.spring.initializr.metadata.InitializrMetadata; import io.spring.initializr.metadata.InitializrMetadataProvider; import io.spring.initializr.util.Agent; +import io.spring.initializr.util.Agent.AgentId; import io.spring.initializr.util.TemplateRenderer; import io.spring.initializr.util.Version; import io.spring.initializr.web.mapper.DependencyMetadataV21JsonMapper; @@ -65,10 +66,6 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.resource.ResourceUrlProvider; -import static io.spring.initializr.util.Agent.AgentId.CURL; -import static io.spring.initializr.util.Agent.AgentId.HTTPIE; -import static io.spring.initializr.util.Agent.AgentId.SPRING_BOOT_CLI; - /** * The main initializr controller provides access to the configured metadata and serves as * a central endpoint to generate projects or build files. @@ -81,6 +78,9 @@ public class MainController extends AbstractInitializrController { private static final Logger log = LoggerFactory.getLogger(MainController.class); + /** + * HAL JSON content type. + */ public static final MediaType HAL_JSON_CONTENT_TYPE = MediaType .parseMediaType("application/hal+json"); @@ -130,17 +130,17 @@ public class MainController extends AbstractInitializrController { if (userAgent != null) { Agent agent = Agent.fromUserAgent(userAgent); if (agent != null) { - if (CURL.equals(agent.getId())) { + if (AgentId.CURL.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateCurlCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } - if (HTTPIE.equals(agent.getId())) { + if (AgentId.HTTPIE.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateHttpieCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); } - if (SPRING_BOOT_CLI.equals(agent.getId())) { + if (AgentId.SPRING_BOOT_CLI.equals(agent.getId())) { String content = this.commandLineHelpGenerator .generateSpringBootCliCapabilities(metadata, appUrl); return builder.eTag(createUniqueId(content)).body(content); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java b/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java index cef9fcda..784df34b 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/support/SpringBootMetadataReader.java @@ -38,7 +38,11 @@ public class SpringBootMetadataReader { private final JsonNode content; /** - * Parse the content of the metadata at the specified url + * Parse the content of the metadata at the specified url. + * @param objectMapper the object mapper + * @param restTemplate the rest template + * @param url the metadata URL + * @throws IOException on load error */ public SpringBootMetadataReader(ObjectMapper objectMapper, RestTemplate restTemplate, String url) throws IOException { @@ -48,6 +52,7 @@ public class SpringBootMetadataReader { /** * Return the boot versions parsed by this instance. + * @return the versions */ public List getBootVersions() { ArrayNode array = (ArrayNode) this.content.get("projectReleases"); diff --git a/initializr-web/src/main/java/io/spring/initializr/web/ui/UiController.java b/initializr-web/src/main/java/io/spring/initializr/web/ui/UiController.java index cdb3dc4c..ac14f6cd 100644 --- a/initializr-web/src/main/java/io/spring/initializr/web/ui/UiController.java +++ b/initializr-web/src/main/java/io/spring/initializr/web/ui/UiController.java @@ -58,7 +58,7 @@ public class UiController { .getDependencies().getContent(); List content = new ArrayList<>(); Version v = StringUtils.isEmpty(version) ? null : Version.parse(version); - dependencyGroups.forEach(g -> g.getContent().forEach(d -> { + dependencyGroups.forEach((g) -> g.getContent().forEach((d) -> { if (v != null && d.getVersionRange() != null) { if (d.match(v)) { content.add(new DependencyItem(g.getName(), d)); @@ -76,7 +76,7 @@ public class UiController { private static String writeDependencies(List items) { ObjectNode json = JsonNodeFactory.instance.objectNode(); ArrayNode maps = JsonNodeFactory.instance.arrayNode(); - items.forEach(d -> maps.add(mapDependency(d))); + items.forEach((d) -> maps.add(mapDependency(d))); json.set("dependencies", maps); return json.toString(); } @@ -102,6 +102,13 @@ public class UiController { return node; } + private String createUniqueId(String content) { + StringBuilder builder = new StringBuilder(); + DigestUtils.appendMd5DigestAsHex(content.getBytes(StandardCharsets.UTF_8), + builder); + return builder.toString(); + } + private static class DependencyItem { private final String group; @@ -115,11 +122,4 @@ public class UiController { } - private String createUniqueId(String content) { - StringBuilder builder = new StringBuilder(); - DigestUtils.appendMd5DigestAsHex(content.getBytes(StandardCharsets.UTF_8), - builder); - return builder.toString(); - } - } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java index 7ab1b9df..64a4afc8 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractFullStackInitializrIntegrationTests.java @@ -20,17 +20,16 @@ import io.spring.initializr.web.AbstractInitializrIntegrationTests.Config; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.boot.web.server.LocalServerPort; 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(classes = Config.class, webEnvironment = RANDOM_PORT) +@SpringBootTest(classes = Config.class, webEnvironment = WebEnvironment.RANDOM_PORT) public abstract class AbstractFullStackInitializrIntegrationTests extends AbstractInitializrIntegrationTests { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java index 31e19e89..0c362e77 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrControllerIntegrationTests.java @@ -60,7 +60,7 @@ public abstract class AbstractInitializrControllerIntegrationTests @Bean RestTemplateCustomizer mockMvcCustomizer(BeanFactory beanFactory) { - return template -> template.setRequestFactory( + return (template) -> template.setRequestFactory( beanFactory.getBean(MockMvcClientHttpRequestFactory.class)); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java index ec7bda62..2e276a92 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/AbstractInitializrIntegrationTests.java @@ -62,7 +62,7 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.util.StreamUtils; import org.springframework.web.client.RestTemplate; -import static org.junit.Assert.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; /** * @author Stephane Nicoll @@ -100,12 +100,15 @@ public abstract class AbstractInitializrIntegrationTests { /** * Validate the "Content-Type" header of the specified response. + * @param response the response + * @param expected the expected result */ protected void validateContentType(ResponseEntity response, MediaType expected) { MediaType actual = response.getHeaders().getContentType(); - assertTrue("Non compatible media-type, expected " + expected + ", got " + actual, - actual.isCompatibleWith(expected)); + assertThat(actual.isCompatibleWith(expected)) + .as("Non compatible media-type, expected " + expected + ", got " + actual) + .isTrue(); } protected JsonNode parseJson(String text) { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java index 49c7838b..175c37a5 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/autoconfigure/InitializrAutoConfigurationTests.java @@ -65,7 +65,7 @@ public class InitializrAutoConfigurationTests { @Bean public RestTemplateCustomizer testRestTemplateCustomizer() { - return b -> b.setErrorHandler(errorHandler); + return (b) -> b.setErrorHandler(errorHandler); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/HomePage.java b/initializr-web/src/test/java/io/spring/initializr/web/project/HomePage.java index 70fb0cf1..5cf78a7b 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/HomePage.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/HomePage.java @@ -39,7 +39,7 @@ class HomePage { private final WebDriver driver; - public HomePage(WebDriver driver) { + HomePage(WebDriver driver) { this.driver = driver; PageFactory.initElements(driver, this); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/LegacyStsControllerIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/LegacyStsControllerIntegrationTests.java index 9da4c895..84b584b2 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/LegacyStsControllerIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/LegacyStsControllerIntegrationTests.java @@ -34,7 +34,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.web.servlet.resource.ResourceUrlProvider; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; /** * @author Stephane Nicoll @@ -47,14 +46,9 @@ public class LegacyStsControllerIntegrationTests @Test public void legacyStsHome() { String body = htmlHome(); - assertThat(body.contains("com.example")).as("groupId not found").isTrue(); - assertThat(body.contains("demo")).as("artifactId not found").isTrue(); - assertTrue("custom description not found", - body.contains("Demo project for Spring Boot")); - assertTrue("Wrong body:\n" + body, body - .contains("")); - assertTrue("Wrong body:\n" + body, body.contains( - "")); + assertThat(body).contains("com.example", "demo", "Demo project for Spring Boot", + "", + ""); } @Override diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java index ebc27268..5635a4e8 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerDependenciesTests.java @@ -28,8 +28,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.test.context.ActiveProfiles; import static org.assertj.core.api.Assertions.assertThat; -import static org.hamcrest.CoreMatchers.nullValue; -import static org.hamcrest.core.IsNot.not; /** * @author Stephane Nicoll diff --git a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java index 78b85735..c281fa45 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/project/MainControllerEnvIntegrationTests.java @@ -27,7 +27,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.test.context.ActiveProfiles; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertTrue; /** * @author Stephane Nicoll @@ -66,8 +65,7 @@ public class MainControllerEnvIntegrationTests @Test public void googleAnalytics() { String body = htmlHome(); - assertTrue("google tag manager should be enabled", - body.contains("https://www.googletagmanager.com/gtm.js")); + assertThat(body).contains("https://www.googletagmanager.com/gtm.js"); } } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java index 8735c0c5..978ff4f5 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/DefaultDependencyMetadataProviderTests.java @@ -26,7 +26,6 @@ import io.spring.initializr.util.Version; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertSame; /** * @author Stephane Nicoll @@ -101,8 +100,8 @@ public class DefaultDependencyMetadataProviderTests { assertThat(dependencyMetadata.getDependencies()).hasSize(3); assertThat(dependencyMetadata.getRepositories()).hasSize(1); assertThat(dependencyMetadata.getBoms()).isEmpty(); - assertSame(metadata.getConfiguration().getEnv().getRepositories().get("repo-foo"), - dependencyMetadata.getRepositories().get("repo-foo")); + assertThat(dependencyMetadata.getRepositories().get("repo-foo")).isSameAs( + metadata.getConfiguration().getEnv().getRepositories().get("repo-foo")); } @Test diff --git a/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java b/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java index e8dc41d6..5ba09796 100755 --- a/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/support/SpringBootMetadataReaderTests.java @@ -64,7 +64,7 @@ public class SpringBootMetadataReaderTests { .getBootVersions(); assertThat(versions).as("spring boot versions should not be null").isNotNull(); AtomicBoolean defaultFound = new AtomicBoolean(false); - versions.forEach(it -> { + versions.forEach((it) -> { assertThat(it.getId()).as("Id must be set").isNotNull(); assertThat(it.getName()).as("Name must be set").isNotNull(); if (it.isDefault()) { diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java index 0044f1b2..ff366c53 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/JsonFieldProcessor.java @@ -33,14 +33,15 @@ final class JsonFieldProcessor { boolean hasField(JsonFieldPath fieldPath, Object payload) { final AtomicReference hasField = new AtomicReference<>(false); - traverse(new ProcessingContext(payload, fieldPath), match -> hasField.set(true)); + traverse(new ProcessingContext(payload, fieldPath), + (match) -> hasField.set(true)); return hasField.get(); } Object extract(JsonFieldPath path, Object payload) { final List matches = new ArrayList<>(); traverse(new ProcessingContext(payload, path), - match -> matches.add(match.getValue())); + (match) -> matches.add(match.getValue())); if (matches.isEmpty()) { throw new IllegalArgumentException("Field does not exist: " + path); } diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java index d12a5d21..697699ff 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactory.java @@ -137,4 +137,4 @@ public class MockMvcClientHttpRequestFactory implements ClientHttpRequestFactory this.fields = Arrays.asList(fields); } -} \ No newline at end of file +} diff --git a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java index a708b28d..33e17373 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/test/MockMvcClientHttpRequestFactoryTestExecutionListener.java @@ -52,4 +52,4 @@ public final class MockMvcClientHttpRequestFactoryTestExecutionListener } } -} \ No newline at end of file +}