mirror of
https://gitee.com/dcren/initializr.git
synced 2026-08-10 11:13:34 +08:00
Polish "Format default platform version when serving metadata v2.1"
See gh-1113
This commit is contained in:
@@ -84,7 +84,7 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap
|
|||||||
singleSelect(delegate, metadata.getPackagings());
|
singleSelect(delegate, metadata.getPackagings());
|
||||||
singleSelect(delegate, metadata.getJavaVersions());
|
singleSelect(delegate, metadata.getJavaVersions());
|
||||||
singleSelect(delegate, metadata.getLanguages());
|
singleSelect(delegate, metadata.getLanguages());
|
||||||
singleSelect(delegate, metadata.getBootVersions(), this::mapVersionMetadata);
|
singleSelect(delegate, metadata.getBootVersions(), this::mapVersionMetadata, this::formatVersion);
|
||||||
text(delegate, metadata.getGroupId());
|
text(delegate, metadata.getGroupId());
|
||||||
text(delegate, metadata.getArtifactId());
|
text(delegate, metadata.getArtifactId());
|
||||||
text(delegate, metadata.getVersion());
|
text(delegate, metadata.getVersion());
|
||||||
@@ -138,19 +138,30 @@ public class InitializrMetadataV2JsonMapper implements InitializrMetadataJsonMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void singleSelect(ObjectNode parent, SingleSelectCapability capability) {
|
protected void singleSelect(ObjectNode parent, SingleSelectCapability capability) {
|
||||||
singleSelect(parent, capability, this::mapValue);
|
singleSelect(parent, capability, this::mapValue, (id) -> id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Map a {@link SingleSelectCapability} invoking the specified {@code valueMapper}.
|
||||||
|
* @param parent the parent node
|
||||||
|
* @param capability the capability to map
|
||||||
|
* @param valueMapper the function to invoke to transform one value of the capability
|
||||||
|
* @deprecated in favor of
|
||||||
|
* {@link #singleSelect(ObjectNode, SingleSelectCapability, Function, Function)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
protected void singleSelect(ObjectNode parent, SingleSelectCapability capability,
|
||||||
|
Function<MetadataElement, ObjectNode> valueMapper) {
|
||||||
|
singleSelect(parent, capability, valueMapper, (id) -> id);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void singleSelect(ObjectNode parent, SingleSelectCapability capability,
|
protected void singleSelect(ObjectNode parent, SingleSelectCapability capability,
|
||||||
Function<MetadataElement, ObjectNode> valueMapper) {
|
Function<MetadataElement, ObjectNode> valueMapper, Function<String, String> defaultMapper) {
|
||||||
ObjectNode single = nodeFactory.objectNode();
|
ObjectNode single = nodeFactory.objectNode();
|
||||||
single.put("type", capability.getType().getName());
|
single.put("type", capability.getType().getName());
|
||||||
DefaultMetadataElement defaultType = capability.getDefault();
|
DefaultMetadataElement defaultType = capability.getDefault();
|
||||||
if (defaultType != null) {
|
if (defaultType != null) {
|
||||||
ObjectNode defaultNode = valueMapper.apply(defaultType);
|
single.put("default", defaultMapper.apply(defaultType.getId()));
|
||||||
String defaultValue = (defaultNode.get("id") != null) ? defaultNode.get("id").textValue()
|
|
||||||
: defaultType.getId();
|
|
||||||
single.put("default", defaultValue);
|
|
||||||
}
|
}
|
||||||
ArrayNode values = nodeFactory.arrayNode();
|
ArrayNode values = nodeFactory.arrayNode();
|
||||||
values.addAll(capability.getContent().stream().map(valueMapper).collect(Collectors.toList()));
|
values.addAll(capability.getContent().stream().map(valueMapper).collect(Collectors.toList()));
|
||||||
|
|||||||
@@ -102,10 +102,9 @@ class InitializrMetadataV21JsonMapperTests {
|
|||||||
.addBootVersion("2.5.0-M2", false).addBootVersion("2.4.2", true).build();
|
.addBootVersion("2.5.0-M2", false).addBootVersion("2.4.2", true).build();
|
||||||
String json = this.jsonMapper.write(metadata, null);
|
String json = this.jsonMapper.write(metadata, null);
|
||||||
JsonNode result = objectMapper.readTree(json);
|
JsonNode result = objectMapper.readTree(json);
|
||||||
JsonNode bootVersion = result.get("bootVersion");
|
JsonNode platformVersions = result.get("bootVersion");
|
||||||
JsonNode defaultNode = bootVersion.get("default");
|
assertThat(platformVersions.get("default").textValue()).isEqualTo("2.4.2.RELEASE");
|
||||||
assertThat(defaultNode.textValue()).isEqualTo("2.4.2.RELEASE");
|
JsonNode versions = platformVersions.get("values");
|
||||||
JsonNode versions = bootVersion.get("values");
|
|
||||||
assertThat(versions).hasSize(3);
|
assertThat(versions).hasSize(3);
|
||||||
assertVersionMetadata(versions.get(0), "2.5.0.BUILD-SNAPSHOT", "2.5.0-SNAPSHOT");
|
assertVersionMetadata(versions.get(0), "2.5.0.BUILD-SNAPSHOT", "2.5.0-SNAPSHOT");
|
||||||
assertVersionMetadata(versions.get(1), "2.5.0.M2", "2.5.0-M2");
|
assertVersionMetadata(versions.get(1), "2.5.0.M2", "2.5.0-M2");
|
||||||
|
|||||||
@@ -62,7 +62,9 @@ class InitializrMetadataV22JsonMapperTests {
|
|||||||
.addBootVersion("2.5.0-M2", false).addBootVersion("2.4.2", true).build();
|
.addBootVersion("2.5.0-M2", false).addBootVersion("2.4.2", true).build();
|
||||||
String json = this.jsonMapper.write(metadata, null);
|
String json = this.jsonMapper.write(metadata, null);
|
||||||
JsonNode result = objectMapper.readTree(json);
|
JsonNode result = objectMapper.readTree(json);
|
||||||
JsonNode versions = result.get("bootVersion").get("values");
|
JsonNode platformVersions = result.get("bootVersion");
|
||||||
|
assertThat(platformVersions.get("default").textValue()).isEqualTo("2.4.2");
|
||||||
|
JsonNode versions = platformVersions.get("values");
|
||||||
assertThat(versions).hasSize(3);
|
assertThat(versions).hasSize(3);
|
||||||
assertVersionMetadata(versions.get(0), "2.5.0-SNAPSHOT", "2.5.0-SNAPSHOT");
|
assertVersionMetadata(versions.get(0), "2.5.0-SNAPSHOT", "2.5.0-SNAPSHOT");
|
||||||
assertVersionMetadata(versions.get(1), "2.5.0-M2", "2.5.0-M2");
|
assertVersionMetadata(versions.get(1), "2.5.0-M2", "2.5.0-M2");
|
||||||
|
|||||||
Reference in New Issue
Block a user