public static void validateAttributeMapping()

in saml-authentication-server/src/main/java/jetbrains/buildServer/auth/saml/plugin/SamlSettingsJsonController.java [122:139]


    public static void validateAttributeMapping(SamlAttributeMappingSettings mapping, String attributeName, List<JsonActionError> errors) {
        if (mapping.getMappingType().equals(SamlAttributeMappingSettings.TYPE_OTHER)) {
            if (StringUtil.isEmpty(mapping.getCustomAttributeName())) {
                errors.add(new JsonActionError(String.format("You must specify non-empty attribute name for the %s attribute mapping", attributeName)));
            }
        } else if (mapping.getMappingType().equals(SamlAttributeMappingSettings.TYPE_EXPRESSION)) {
            if (StringUtil.isEmpty(mapping.getCustomAttributeName())) {
                errors.add(new JsonActionError(String.format("You must specify non-empty expression for the %s attribute mapping", attributeName)));
            } else {
                String expression = mapping.getCustomAttributeName();
                var expressionExecutor = new SpelExpressionExecutor();
                var errorMessage = expressionExecutor.validate(expression);
                if (errorMessage != null) {
                    errors.add(new JsonActionError(String.format("Syntax error in expression %s :%s", expression, errorMessage)));
                }
            }
        }
    }