in initializr-generator/src/main/java/io/spring/initializr/metadata/InitializrMetadata.java [154:208]
public void validate() {
this.configuration.validate();
this.dependencies.validate();
Map<String, Repository> repositories = this.configuration.getEnv()
.getRepositories();
Map<String, BillOfMaterials> boms = this.configuration.getEnv().getBoms();
for (Dependency dependency : this.dependencies.getAll()) {
if (dependency.getBom() != null && !boms.containsKey(dependency.getBom())) {
throw new InvalidInitializrMetadataException(
"Dependency " + dependency + "defines an invalid BOM id "
+ dependency.getBom() + ", available boms " + boms);
}
if (dependency.getRepository() != null
&& !repositories.containsKey(dependency.getRepository())) {
throw new InvalidInitializrMetadataException("Dependency " + dependency
+ "defines an invalid repository id " + dependency.getRepository()
+ ", available repositories " + repositories);
}
}
for (BillOfMaterials bom : boms.values()) {
for (String r : bom.getRepositories()) {
if (!repositories.containsKey(r)) {
throw new InvalidInitializrMetadataException(
bom + "defines an invalid repository id " + r
+ ", available repositories " + repositories);
}
}
for (String b : bom.getAdditionalBoms()) {
if (!boms.containsKey(b)) {
throw new InvalidInitializrMetadataException(
bom + " defines an invalid " + "additional bom id " + b
+ ", available boms " + boms);
}
}
for (BillOfMaterials.Mapping m : bom.getMappings()) {
for (String r : m.getRepositories()) {
if (!repositories.containsKey(r)) {
throw new InvalidInitializrMetadataException(
m + " of " + bom + "defines an invalid repository id " + r
+ ", available repositories " + repositories);
}
}
for (String b : m.getAdditionalBoms()) {
if (!boms.containsKey(b)) {
throw new InvalidInitializrMetadataException(m + " of " + bom
+ " defines " + "an invalid additional bom id " + b
+ ", available boms " + boms);
}
}
}
}
}