package fr.openwide.core.basicapp.core.security.service; import java.util.Arrays; import java.util.Collection; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.acls.domain.PermissionFactory; import org.springframework.security.acls.model.Permission; import fr.openwide.core.basicapp.core.business.user.model.User; import fr.openwide.core.jpa.business.generic.model.GenericEntity; import fr.openwide.core.jpa.security.service.IGenericPermissionEvaluator; public abstract class AbstractGenericPermissionEvaluator<E extends GenericEntity<Long, ?>> implements IGenericPermissionEvaluator<User, E> { @Autowired protected PermissionFactory permissionFactory; protected final boolean is(Permission permission, String ... permissionNames) { return is(permission, Arrays.asList(permissionNames)); } protected final boolean is(Permission permission, Collection<String> permissionNames) { for (String permissionName : permissionNames) { Permission permissionFromName = permissionFactory.buildFromName(permissionName); if (permissionFromName.equals(permission)) { return true; } } return false; } }