package br.gov.frameworkdemoiselle.fuselage.business; import java.util.List; import javax.inject.Inject; import br.gov.frameworkdemoiselle.enumeration.contrib.Logic; import br.gov.frameworkdemoiselle.fuselage.domain.SecurityResource; import br.gov.frameworkdemoiselle.fuselage.domain.SecurityRole; import br.gov.frameworkdemoiselle.fuselage.persistence.RoleDAO; import br.gov.frameworkdemoiselle.query.contrib.QueryConfig; import br.gov.frameworkdemoiselle.stereotype.BusinessController; import br.gov.frameworkdemoiselle.template.contrib.DelegateCrud; @BusinessController public class RoleBC extends DelegateCrud<SecurityRole, Long, RoleDAO> { private static final long serialVersionUID = 1L; @Inject private ResourceBC resourceBC; /** * Get all roles except listed in @param securityRoles */ public List<SecurityRole> findRolesExceptList(List<SecurityRole> securityRoles) { QueryConfig<SecurityRole> queryConfig = getQueryConfig(); queryConfig.setSorting("name"); if (securityRoles != null && securityRoles.size() > 0) { Long[] ids = new Long[securityRoles.size()]; for (int i = 0; i != securityRoles.size(); i++) ids[i] = securityRoles.get(i).getId(); queryConfig.getFilter().put("id", ids); queryConfig.setFilterLogic(Logic.NAND); } return findAll(); } /** * Get all resources except listed in @param securityResources */ public List<SecurityResource> getResourcesExceptList(List<SecurityResource> securityResources) { return resourceBC.findResourceExceptList(securityResources); } }