package sk.yonban.aspectchanges;

import java.util.ArrayList;
import java.util.List;
import sk.yonban.model.Pouzivatel;
import sk.yonban.model.Projekt;

public aspect RegistrationConstraint {
	private pointcut registerUser(Projekt projekt, Pouzivatel pouzivatel) : 
		execution(List<Error> sk.yonban.service.ProjektServiceImpl.registrujProjekt(..)) 
		&& args(projekt, pouzivatel);
	
	List<Error> around(Projekt projekt, Pouzivatel pouzivatel) : 
		registerUser(projekt, pouzivatel) {
		if (pouzivatel.getEmail().length() == 0) {
			List<Error> errors = new ArrayList<Error>();
			errors.add(new Error("User email can not be empty"));
			return errors;
		}
		return proceed(projekt, pouzivatel);
	}
}
