@Test void mergeAddEntry() { TypeCapability capability = new TypeCapability(); Type first = new Type(); first.setId("foo"); first.setDefault(false); capability.getContent().add(first); TypeCapability anotherCapability = new TypeCapability(); Type another = new Type(); another.setId("foo"); another.setDefault(false); Type second = new Type(); second.setId("bar"); second.setDefault(true); anotherCapability.getContent().add(another); anotherCapability.getContent().add(second); capability.merge(anotherCapability); assertThat(capability.getContent()).hasSize(2); assertThat(capability.get("foo")).isEqualTo(first); assertThat(capability.get("bar")).isEqualTo(second); assertThat(capability.getDefault()).isEqualTo(second); }
private TypeCapability removeTypes(TypeCapability types) { TypeCapability result = new TypeCapability(); result.setDescription(types.getDescription()); result.setTitle(types.getTitle()); result.getContent().addAll(types.getContent()); // Only keep project type result.getContent().removeIf((t) -> !"project".equals(t.getTags().get("format"))); return result; }
protected void type(ObjectNode parent, TypeCapability capability) { ObjectNode type = nodeFactory.objectNode(); type.put("type", "action"); Type defaultType = capability.getDefault(); if (defaultType != null) { type.put("default", defaultType.getId()); } ArrayNode values = nodeFactory.arrayNode(); values.addAll(capability.getContent().stream().map(this::mapType) .collect(Collectors.toList())); type.set("values", values); parent.set("type", type); }
@Test void defaultEmpty() { TypeCapability capability = new TypeCapability(); assertThat(capability.getDefault()).isNull(); }
@Test void defaultType() { TypeCapability capability = new TypeCapability(); Type first = new Type(); first.setId("foo"); first.setDefault(false); Type second = new Type(); second.setId("bar"); second.setDefault(true); capability.getContent().add(first); capability.getContent().add(second); assertThat(capability.getDefault()).isEqualTo(second); }
protected String generateTypeTable(InitializrMetadata metadata, String linkHeader, boolean addTags) { String[][] typeTable = new String[metadata.getTypes().getContent().size() + 1][]; if (addTags) { typeTable[0] = new String[] { linkHeader, "Description", "Tags" }; } else { typeTable[0] = new String[] { linkHeader, "Description" }; } int i = 1; for (Type type : metadata.getTypes().getContent().stream() .sorted(Comparator.comparing(MetadataElement::getId)) .collect(Collectors.toList())) { String[] data = new String[typeTable[0].length]; data[0] = (type.isDefault() ? type.getId() + " *" : type.getId()); data[1] = (type.getDescription() != null) ? type.getDescription() : type.getName(); if (addTags) { data[2] = buildTagRepresentation(type); } typeTable[i++] = data; } return TableGenerator.generate(typeTable); }
@Override public void merge(List<Type> otherContent) { otherContent.forEach((it) -> { if (get(it.getId()) == null) { this.content.add(it); } }); }
/** * Merge this instance with the specified argument. * @param other the other instance */ public void merge(InitializrMetadata other) { this.configuration.merge(other.configuration); this.dependencies.merge(other.dependencies); this.types.merge(other.types); this.bootVersions.merge(other.bootVersions); this.packagings.merge(other.packagings); this.javaVersions.merge(other.javaVersions); this.languages.merge(other.languages); this.name.merge(other.name); this.description.merge(other.description); this.groupId.merge(other.groupId); this.artifactId.merge(other.artifactId); this.version.merge(other.version); this.packageName.merge(other.packageName); }
@Test void initializeSetsMetadataDefaults() { ProjectRequest request = initProjectRequest(); assertThat(request.getName()).isEqualTo(this.metadata.getName().getContent()); assertThat(request.getType()) .isEqualTo(this.metadata.getTypes().getDefault().getId()); assertThat(request.getDescription()) .isEqualTo(this.metadata.getDescription().getContent()); assertThat(request.getGroupId()) .isEqualTo(this.metadata.getGroupId().getContent()); assertThat(request.getArtifactId()) .isEqualTo(this.metadata.getArtifactId().getContent()); assertThat(request.getVersion()) .isEqualTo(this.metadata.getVersion().getContent()); assertThat(request.getBootVersion()) .isEqualTo(this.metadata.getBootVersions().getDefault().getId()); assertThat(request.getPackaging()) .isEqualTo(this.metadata.getPackagings().getDefault().getId()); }
@Test void defaultNoDefault() { TypeCapability capability = new TypeCapability(); Type first = new Type(); first.setId("foo"); first.setDefault(false); Type second = new Type(); second.setId("bar"); second.setDefault(false); capability.getContent().add(first); capability.getContent().add(second); assertThat(capability.getDefault()).isNull(); }
public InitializrMetadataTestBuilder addType(Type type) { this.builder.withCustomizer((it) -> it.getTypes().getContent().add(type)); return this; }
document.setBuildSystem(determineBuildSystem(request)); if (StringUtils.hasText(request.getType()) && metadata.getTypes().get(request.getType()) == null) { document.triggerError().setType(true);
@Override public void customize(InitializrMetadata metadata) { metadata.getDependencies().merge(this.properties.getDependencies()); metadata.getTypes().merge(this.properties.getTypes()); metadata.getBootVersions().merge(this.properties.getBootVersions()); metadata.getPackagings().merge(this.properties.getPackagings()); metadata.getJavaVersions().merge(this.properties.getJavaVersions()); metadata.getLanguages().merge(this.properties.getLanguages()); this.properties.getGroupId().apply(metadata.getGroupId()); this.properties.getArtifactId().apply(metadata.getArtifactId()); this.properties.getVersion().apply(metadata.getVersion()); this.properties.getName().apply(metadata.getName()); this.properties.getDescription().apply(metadata.getDescription()); this.properties.getPackageName().apply(metadata.getPackageName()); }
private static void assertDefaultConfig(InitializrMetadata metadata) { assertThat(metadata).isNotNull(); assertThat(metadata.getDependencies().getAll()).hasSize(8); assertThat(metadata.getDependencies().getContent()).hasSize(2); assertThat(metadata.getTypes().getContent()).hasSize(4); }
Type type = metadata.getTypes().get(getType()); if (type == null) { throw new InvalidProjectRequestException(
@Test void mergeMetadata() { InitializrMetadata metadata = InitializrMetadataBuilder.create() .withInitializrMetadata( new ClassPathResource("metadata/config/test-min.json")) .build(); assertThat(metadata.getConfiguration().getEnv().isForceSsl()).isEqualTo(true); assertThat(metadata.getDependencies().getContent()).hasSize(1); Dependency dependency = metadata.getDependencies().get("test"); assertThat(dependency).isNotNull(); assertThat(dependency.getGroupId()).isEqualTo("org.springframework.boot"); assertThat(metadata.getTypes().getContent()).hasSize(1); assertThat(metadata.getBootVersions().getContent()).hasSize(2); assertThat(metadata.getPackagings().getContent()).hasSize(2); assertThat(metadata.getJavaVersions().getContent()).hasSize(1); assertThat(metadata.getLanguages().getContent()).hasSize(3); assertThat(metadata.getName().getContent()).isEqualTo("metadata-merge"); assertThat(metadata.getDescription().getContent()) .isEqualTo("Demo project for metadata merge"); assertThat(metadata.getGroupId().getContent()).isEqualTo("org.acme"); assertThat(metadata.getArtifactId().getContent()).isEqualTo("metadata"); assertThat(metadata.getVersion().getContent()).isEqualTo("1.0.0-SNAPSHOT"); assertThat(metadata.getPackageName().getContent()).isEqualTo("org.acme.demo"); }
&& metadata.getTypes().get(request.getType()) == null) { document.setInvalid(true); document.setInvalidType(true);
@Override public String write(InitializrMetadata metadata, String appUrl) { ObjectNode delegate = nodeFactory.objectNode(); links(delegate, metadata.getTypes().getContent(), appUrl); dependencies(delegate, metadata.getDependencies()); type(delegate, metadata.getTypes()); singleSelect(delegate, metadata.getPackagings()); singleSelect(delegate, metadata.getJavaVersions()); singleSelect(delegate, metadata.getLanguages()); singleSelect(delegate, metadata.getBootVersions()); text(delegate, metadata.getGroupId()); text(delegate, metadata.getArtifactId()); text(delegate, metadata.getVersion()); text(delegate, metadata.getName()); text(delegate, metadata.getDescription()); text(delegate, metadata.getPackageName()); return delegate.toString(); }
@Test void initializeRemoteConfig() throws Exception { InitializrMetadata localMetadata = this.metadataProvider.get(); InitializrMetadata metadata = InitializrMetadataBuilder.create() .withInitializrMetadata(new UrlResource(createUrl("/metadata/config"))) .build(); // Basic assertions assertThat(metadata.getDependencies().getContent()) .hasSameSizeAs(localMetadata.getDependencies().getContent()); assertThat(metadata.getTypes().getContent()) .hasSameSizeAs(localMetadata.getTypes().getContent()); assertThat(metadata.getBootVersions().getContent()) .hasSameSizeAs(localMetadata.getBootVersions().getContent()); assertThat(metadata.getPackagings().getContent()) .hasSameSizeAs(localMetadata.getPackagings().getContent()); assertThat(metadata.getJavaVersions().getContent()) .hasSameSizeAs(localMetadata.getJavaVersions().getContent()); assertThat(metadata.getLanguages().getContent()) .hasSameSizeAs(localMetadata.getLanguages().getContent()); }