org.cloudfoundry.identity.uaa.zone.GeneralIdentityZoneValidator Maven / Gradle / Ivy
/*******************************************************************************
* Cloud Foundry
* Copyright (c) [2009-2016] Pivotal Software, Inc. All Rights Reserved.
*
* This product is licensed to you under the Apache License, Version 2.0 (the "License").
* You may not use this product except in compliance with the License.
*
* This product includes a number of subcomponents with
* separate copyright notices and license terms. Your use of these
* subcomponents is subject to the terms and conditions of the
* subcomponent's license, as noted in the LICENSE file.
*******************************************************************************/
package org.cloudfoundry.identity.uaa.zone;
import org.springframework.util.StringUtils;
public class GeneralIdentityZoneValidator implements IdentityZoneValidator {
private final IdentityZoneConfigurationValidator configValidator;
public GeneralIdentityZoneValidator() {
this(new GeneralIdentityZoneConfigurationValidator());
}
public GeneralIdentityZoneValidator(IdentityZoneConfigurationValidator configValidator) {
this.configValidator = configValidator;
}
@Override
public IdentityZone validate(IdentityZone identityZone, Mode mode) throws InvalidIdentityZoneDetailsException {
try {
identityZone.setConfig(configValidator.validate(identityZone, mode));
} catch (InvalidIdentityZoneConfigurationException ex) {
String configErrorMessage = StringUtils.hasText(ex.getMessage())?ex.getMessage():"";
throw new InvalidIdentityZoneDetailsException("The zone configuration is invalid. " + configErrorMessage, ex);
}
return identityZone;
}
}