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); }
/** * 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())) .findFirst().orElse(null); }
public InitializrMetadataTestBuilder addType(String id, boolean defaultValue, String action, String build, String format) { Type type = new Type(); type.setId(id); type.setName(id); type.setDefault(defaultValue); type.setAction(action); if (StringUtils.hasText(build)) { type.getTags().put("build", build); } if (StringUtils.hasText(format)) { type.getTags().put("format", format); } return addType(type); }
@Override public void merge(List<Type> otherContent) { otherContent.forEach((it) -> { if (get(it.getId()) == null) { this.content.add(it); } }); }
@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); }
@Test void generateCapabilitiesWithTypeDescription() { Type type = new Type(); type.setId("foo"); type.setName("foo-name"); type.setDescription("foo-desc"); InitializrMetadata metadata = InitializrMetadataTestBuilder.withDefaults() .addType(type).build(); String content = this.generator.generateGenericCapabilities(metadata, "https://fake-service"); assertCommandLineCapabilities(content); assertThat(content).contains("| foo"); assertThat(content).contains("| foo-desc"); }
protected ObjectNode links(ObjectNode parent, List<Type> types, String appUrl) { ObjectNode content = nodeFactory.objectNode(); types.forEach((it) -> content.set(it.getId(), link(appUrl, it))); parent.set("_links", content); return content; }
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; }
@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(); }
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); }
"Unknown type '" + getType() + "' check project metadata"); String buildTag = type.getTags().get("build"); if (buildTag != null) { this.build = buildTag;
@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); }
@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()); }