1 package model.validation;
2
3 import model.entity.User;
4 import model.repository.GenericRepository;
5
6 import javax.inject.Inject;
7 import javax.validation.ConstraintValidator;
8 import javax.validation.ConstraintValidatorContext;
9
10 public class UniqueUsernameValidator implements ConstraintValidator<UniqueUsername, String> {
11
12 @Inject GenericRepository genericRepository;
13
14 @Override
15 public void initialize(UniqueUsername userExists) {
16
17 }
18
19 @Override
20 public boolean isValid(String username, ConstraintValidatorContext constraintValidatorContext) {
21 if(username == null) return true;
22 return genericRepository.findByNaturalId(User.class, username) == null;
23 }
24 }