private Map convertResourceTagsToMap()

in aws-ssm-patchbaseline/src/main/java/software/amazon/ssm/patchbaseline/TagHelper.java [191:218]


    private <T> Map<String, String> convertResourceTagsToMap(
            List<T> tags, Function<T, String> keyMapper, Function<T, String> valueMapper) {
        if (CollectionUtils.isNullOrEmpty(tags)) {
            return new HashMap<>();
        }

        Map<String, String> tagSet = new HashMap<>();

        for (T tag : tags) {
            if (tag == null) {
                throw new SsmCfnClientSideException(TAG_NULL);
            }

            String tagKey = keyMapper.apply(tag);

            if (tagKey == null) {
                throw new SsmCfnClientSideException(TAG_KEY_NULL);
            }

            if (tagSet.containsKey(tagKey)) {
                throw new SsmCfnClientSideException(NO_DUPLICATE_TAGS);
            }

            tagSet.put(tagKey, valueMapper.apply(tag));
        }

        return tagSet;
    }