package org.js.model.rbac.validation; import java.util.List; import org.js.model.rbac.RBACService; import org.js.model.rbac.Role; /** * ensure that there are no role cycles defined. * * @author <a href="mailto:julia.schroeter@tu-dresden.de">Julia Schroeter</a> * */ public class RoleCycleConstraint extends AbstractRoleConstraint { @Override String validateRole(Role role) { String msg = null; RBACService service = new RBACService(); List<Role> parents = service.getParentRoles(role); if (parents.contains(role)) { msg = "Cycle detected on role with id <" + role.getId() + ">."; } return msg; } }