in src/main/java/org/apache/maven/report/projectinfo/TeamReport.java [468:522]
private static Map<String, Boolean> checkRequiredHeaders(List<? extends Contributor> units) {
Map<String, Boolean> requiredHeaders = new HashMap<>();
requiredHeaders.put(IMAGE, Boolean.FALSE);
requiredHeaders.put(ID, Boolean.FALSE);
requiredHeaders.put(NAME, Boolean.FALSE);
requiredHeaders.put(EMAIL, Boolean.FALSE);
requiredHeaders.put(URL, Boolean.FALSE);
requiredHeaders.put(ORGANIZATION, Boolean.FALSE);
requiredHeaders.put(ORGANIZATION_URL, Boolean.FALSE);
requiredHeaders.put(ROLES, Boolean.FALSE);
requiredHeaders.put(TIME_ZONE, Boolean.FALSE);
requiredHeaders.put(PROPERTIES, Boolean.FALSE);
for (Contributor unit : units) {
if (unit instanceof Developer) {
Developer developer = (Developer) unit;
if (StringUtils.isNotEmpty(developer.getId())) {
requiredHeaders.put(ID, Boolean.TRUE);
}
}
if (StringUtils.isNotEmpty(unit.getName())) {
requiredHeaders.put(NAME, Boolean.TRUE);
}
if (StringUtils.isNotEmpty(unit.getEmail())) {
requiredHeaders.put(EMAIL, Boolean.TRUE);
requiredHeaders.put(IMAGE, Boolean.TRUE);
}
if (StringUtils.isNotEmpty(unit.getUrl())) {
requiredHeaders.put(URL, Boolean.TRUE);
}
if (StringUtils.isNotEmpty(unit.getOrganization())) {
requiredHeaders.put(ORGANIZATION, Boolean.TRUE);
}
if (StringUtils.isNotEmpty(unit.getOrganizationUrl())) {
requiredHeaders.put(ORGANIZATION_URL, Boolean.TRUE);
}
if (!unit.getRoles().isEmpty()) {
requiredHeaders.put(ROLES, Boolean.TRUE);
}
if (StringUtils.isNotEmpty(unit.getTimezone())) {
requiredHeaders.put(TIME_ZONE, Boolean.TRUE);
}
Properties properties = unit.getProperties();
boolean hasPicUrl = properties.containsKey("picUrl");
if (hasPicUrl) {
requiredHeaders.put(IMAGE, Boolean.TRUE);
}
boolean isJustAnImageProperty = properties.size() == 1 && hasPicUrl;
if (!isJustAnImageProperty && !properties.isEmpty()) {
requiredHeaders.put(PROPERTIES, Boolean.TRUE);
}
}
return requiredHeaders;
}