package org.openstack.atlas.api.mgmt.validation.validators; import org.openstack.atlas.api.validation.Validator; import org.openstack.atlas.api.validation.ValidatorBuilder; import org.openstack.atlas.api.validation.results.ValidatorResult; import org.openstack.atlas.api.validation.validators.ResourceValidator; import org.openstack.atlas.api.validation.validators.ValidatorUtilities; import org.openstack.atlas.docs.loadbalancers.api.management.v1.ZeusEvent; import static org.openstack.atlas.api.validation.ValidatorBuilder.build; public class ZeusEventValidator implements ResourceValidator<ZeusEvent> { private final Validator<ZeusEvent> validator; public ZeusEventValidator() { validator = build(new ValidatorBuilder<ZeusEvent>(ZeusEvent.class) { { result(validationTarget().getCallbackHost()).must().exist().withMessage("Must provide a callback host."); result(validationTarget().getParamLine()).must().exist().withMessage("Must provide a param line."); } }); } @Override public ValidatorResult validate(ZeusEvent zeusEvent, Object httpRequestType) { ValidatorResult result = validator.validate(zeusEvent, httpRequestType); return ValidatorUtilities.removeEmptyMessages(result); } @Override public Validator<ZeusEvent> getValidator() { return validator; } }