package br.com.dextra.dextranet.seguranca; import java.util.ArrayList; import java.util.List; import br.com.dextra.dextranet.grupo.Grupo; import br.com.dextra.dextranet.grupo.GrupoRepository; import br.com.dextra.dextranet.usuario.Usuario; import br.com.dextra.dextranet.usuario.UsuarioRepository; import com.google.appengine.api.datastore.EntityNotFoundException; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; public class AutenticacaoService { private static GrupoRepository grupoRepository = new GrupoRepository(); private static UsuarioRepository usuarioRepository = new UsuarioRepository(); public static String identificacaoDoUsuarioLogado() { UserService userService = UserServiceFactory.getUserService(); return userService.getCurrentUser().getNickname(); } public static Usuario identificacaoDoUsuarioLogado(String usernameLogado) { Usuario usuarioLogado = usuarioRepository.obtemPorUsername(usernameLogado); return usuarioLogado; } public static Boolean isUsuarioGrupoInfra() { Usuario usuario = usuarioRepository.obtemPorUsername(identificacaoDoUsuarioLogado()); List<Grupo> grupos = new ArrayList<Grupo>(); try { grupos = grupoRepository.obtemPorIdIntegrante(usuario.getId()); for (Grupo grupo : grupos) { if (isInfra(grupo)) { return true; } } } catch (EntityNotFoundException e) { e.printStackTrace(); } return false; } private static boolean isInfra(Grupo grupo) { return grupo.isInfra() != null && grupo.isInfra(); } }