private static Map checkRequiredHeaders()

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;
        }