@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); }
/** * 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); }
@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()); }