Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

/*
* ServiceLineValidator.java
* Copyright (c) 2019 Veterans Affairs.
*/
package gov.va.oneconsult.seoc.api.validation;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import org.springframework.stereotype.Component;
import gov.va.oneconsult.seoc.api.model.Seoc;
import gov.va.oneconsult.seoc.api.model.ServiceLine;

/**
* Validation for serviceLine field of {@link Seoc}.
* Checks if the service line value has been discontinued {@link ServiceLine}
* @author AbleVets
*/
@Component
public class ServiceLineValidator implements ConstraintValidator<ValidServiceLine, ServiceLine>
{

/**
* {@inheritDoc}
*/
@Override
public void initialize(ValidServiceLine constraintAnnotation)
{

}

/**
* {@inheritDoc}
*/
@Override
public boolean isValid(ServiceLine serviceLine, ConstraintValidatorContext context)
{

if (serviceLine == null) {
return true;
}

Boolean discontinued = serviceLine.getDiscontinued();

if (discontinued == null || !discontinued) {
return true;
}

context.disableDefaultConstraintViolation();
context
.buildConstraintViolationWithTemplate("The Service Line value " + serviceLine.getDescription() + " has been discontinued. A valid Service Line must be selected.")
.addConstraintViolation();

return false;
}

}