Package org.sonatype.configuration.validation

Examples of org.sonatype.configuration.validation.ValidationResponse


    return response;
  }

  public ValidationResponse validateUser(SecurityValidationContext ctx, CUser user, Set<String> roles, boolean update) {
    ValidationResponse response = new ValidationResponse();

    if (ctx != null) {
      response.setContext(ctx);
    }

    SecurityValidationContext context = (SecurityValidationContext) response.getContext();

    List<String> existingIds = context.getExistingUserIds();

    if (existingIds == null) {
      context.addExistingUserIds();

      existingIds = context.getExistingUserIds();
    }

    if (!update && StringUtils.isEmpty(user.getId())) {
      ValidationMessage message =
          new ValidationMessage("userId", "User ID is required.", "User ID is required.");

      response.addValidationError(message);
    }

    if (!update && StringUtils.isNotEmpty(user.getId()) && existingIds.contains(user.getId())) {
      ValidationMessage message =
          new ValidationMessage("userId", "User ID '" + user.getId() + "' is already in use.", "User ID '"
              + user.getId() + "' is already in use.");

      response.addValidationError(message);
    }

    if (StringUtils.isNotEmpty(user.getId()) && user.getId().contains(" ")) {
      ValidationMessage message =
          new ValidationMessage("userId", "User ID '" + user.getId() + "' cannot contain spaces.", "User ID '"
              + user.getId() + "' cannot contain spaces.");

      response.addValidationError(message);
    }

    if (StringUtils.isNotEmpty(user.getFirstName())) {
      user.setFirstName(user.getFirstName());
    }

    if (StringUtils.isNotEmpty(user.getLastName())) {
      user.setLastName(user.getLastName());
    }

    if (StringUtils.isEmpty(user.getPassword())) {
      ValidationMessage message =
          new ValidationMessage("password", "User ID '" + user.getId()
              + "' has no password.  This is a required field.", "Password is required.");
      response.addValidationError(message);
    }

    if (StringUtils.isEmpty(user.getEmail())) {
      ValidationMessage message =
          new ValidationMessage("email", "User ID '" + user.getId() + "' has no email address",
              "Email address is required.");
      response.addValidationError(message);
    }
    else {
      try {
        if (!user.getEmail().matches(".+@.+")) {
          ValidationMessage message =
              new ValidationMessage("email", "User ID '" + user.getId() + "' has an invalid email address.",
                  "Email address is invalid.");
          response.addValidationError(message);
        }
      }
      catch (PatternSyntaxException e) {
        throw new IllegalStateException("Regex did not compile: " + e.getMessage(), e);
      }

    }

    if (!CUser.STATUS_ACTIVE.equals(user.getStatus()) && !CUser.STATUS_DISABLED.equals(user.getStatus())) {
      ValidationMessage message =
          new ValidationMessage("status", "User ID '" + user.getId() + "' has invalid status '"
              + user.getStatus() + "'.  (Allowed values are: " + CUser.STATUS_ACTIVE + " and "
              + CUser.STATUS_DISABLED + ")", "Invalid Status selected.");
      response.addValidationError(message);
    }

    if (context.getExistingRoleIds() != null && context.getExistingUserRoleMap() != null) {

      if (roles != null && roles.size() > 0) {
        for (String roleId : roles) {
          if (!context.getExistingRoleIds().contains(roleId)) {
            ValidationMessage message =
                new ValidationMessage("roles", "User ID '" + user.getId() + "' Invalid role id '" + roleId
                    + "' found.", "User cannot contain invalid role ID '" + roleId + "'.");
            response.addValidationError(message);
          }
        }
      }
    }
View Full Code Here


  }

  public ValidationResponse validateUserRoleMapping(SecurityValidationContext context,
                                                    CUserRoleMapping userRoleMapping, boolean update)
  {
    ValidationResponse response = new ValidationResponse();

    // ID must be not empty
    if (StringUtils.isEmpty(userRoleMapping.getUserId())) {
      ValidationMessage message =
          new ValidationMessage("userId", "UserRoleMapping has no userId." + "  This is a required field.",
              "UserId is required.");
      response.addValidationError(message);
    }

    // source must be not empty
    if (StringUtils.isEmpty(userRoleMapping.getSource())) {
      ValidationMessage message =
          new ValidationMessage("source", "User Role Mapping for user '" + userRoleMapping.getUserId()
              + "' has no source.  This is a required field.", "UserId is required.");
      response.addValidationError(message);
    }

    List<String> roles = userRoleMapping.getRoles();
    // all roles must be real
    if (context.getExistingRoleIds() != null && context.getExistingUserRoleMap() != null) {

      if (roles != null && roles.size() > 0) {
        for (String roleId : roles) {
          if (!context.getExistingRoleIds().contains(roleId)) {
            ValidationMessage message =
                new ValidationMessage("roles", "User Role Mapping for user '"
                    + userRoleMapping.getUserId() + "' Invalid role id '" + roleId + "' found.",
                    "User cannot contain invalid role ID '" + roleId + "'.");
            response.addValidationError(message);
          }
        }
      }
    }
View Full Code Here

public class InvalidConfigurationExceptionMapper
    extends ValidationExceptionMapperSupport<InvalidConfigurationException>
{
  @Override
  protected List<ValidationErrorXO> getValidationErrors(final InvalidConfigurationException exception) {
    ValidationResponse response = exception.getValidationResponse();
    if (response != null) {
      List<ValidationMessage> errors = response.getValidationErrors();
      if (errors != null && !errors.isEmpty()) {
        return Lists.transform(errors, new Function<ValidationMessage, ValidationErrorXO>()
        {
          @Nullable
          @Override
View Full Code Here

        final Configuration conf = new KenaiRealmConfigurationXpp3Reader().read(reader);
        conf.setVersion(Configuration.MODEL_VERSION);
        new KenaiRealmConfigurationXpp3Writer().write(writer, conf);
      }
    });
    final ValidationResponse vr = validateConfig(result);
    if (vr.isValid()) {
      return result;
    }
    else {
      log.warn("Invalid Kenai Realm configuration, not using it ", new InvalidConfigurationException(vr));
      return new Configuration();
View Full Code Here

      return new Configuration();
    }
  }

  private ValidationResponse validateConfig(Configuration config) {
    ValidationResponse response = new ValidationResponse();

    if (StringUtils.isEmpty(config.getBaseUrl())) {
      ValidationMessage msg = new ValidationMessage("baseUrl", "Base Url cannot be empty.");
      response.addValidationError(msg);
    }
    else {
      try {
        new URL(config.getBaseUrl());
      }
      catch (MalformedURLException e) {
        ValidationMessage msg = new ValidationMessage("baseUrl", "Base Url is not valid: " + e.getMessage());
        response.addValidationError(msg);
      }
    }

    if (StringUtils.isEmpty(config.getEmailDomain())) {
      ValidationMessage msg = new ValidationMessage("emailDomain", "Email domain cannot be empty.");
      response.addValidationError(msg);
    }

    if (StringUtils.isEmpty(config.getDefaultRole())) {
      ValidationMessage msg = new ValidationMessage("defaultRole", "Default role cannot be empty.");
      response.addValidationError(msg);
    }
    else {
      // check that this is a valid role
      try {
        this.securitySystem.getAuthorizationManager("default").getRole(config.getDefaultRole());
      }
      catch (Exception e) {
        log.debug("Failed to find role {} during validation.", config.getDefaultRole(), e);
        ValidationMessage msg = new ValidationMessage("defaultRole", "Failed to find role.");
        response.addValidationError(msg);
      }
    }

    return response;
  }
View Full Code Here

  }

  private void validateType(final CapabilityType type)
      throws InvalidConfigurationException
  {
    final ValidationResponse vr = new ValidationResponse();

    if (type == null) {
      vr.addValidationError(new ValidationMessage("typeId", "Type must be provided"));
    }
    else {
      if (capabilityFactoryRegistry.get(type) == null || capabilityDescriptorRegistry.get(type) == null) {
        vr.addValidationError(new ValidationMessage("typeId", "Type '" + type + "' is not supported"));
      }
    }

    if (!vr.getValidationErrors().isEmpty()) {
      throw new InvalidConfigurationException(vr);
    }
  }
View Full Code Here

  private void validate(final Collection<Validator> validators, final Map<String, String> properties)
      throws InvalidConfigurationException
  {
    if (validators != null && !validators.isEmpty()) {
      final ValidationResponse vr = new ValidationResponse();

      for (final Validator validator : validators) {
        final ValidationResult validationResult = validator.validate(properties);
        if (!validationResult.isValid()) {
          for (final ValidationResult.Violation violation : validationResult.violations()) {
            vr.addValidationError(new ValidationMessage(
                violation.key(),
                violation.message()
            ));
          }
        }
      }

      if (!vr.getValidationErrors().isEmpty()) {
        throw new InvalidConfigurationException(vr);
      }
    }
  }
View Full Code Here

TOP

Related Classes of org.sonatype.configuration.validation.ValidationResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.