Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.srv.web.managebean.sessao;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.framework.model.UsuarioView;
import br.gov.al.saude.framework.security.authentication.entity.UserIndra;
import br.gov.al.saude.srv.core.application.servidor.ServidorFacade;
import br.gov.al.saude.srv.model.Servidor;

@Component
@ManagedBean
@Scope("session")
public class SessaoBean implements Serializable {

        private ServidorFacade servidorFacade;
        private Servidor servidor;
       
        private static final long serialVersionUID = 1L;
       
        @Autowired
        public SessaoBean(ServidorFacade servidorFacade) {
                this.servidorFacade = servidorFacade;
                getServidor();
        }

        public UserIndra obterUserIndra() {
                Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
                UserIndra principal = (UserIndra) authentication.getPrincipal();
                return principal;
        }
       
        public UsuarioView getUsuarioLogado() {
                return (UsuarioView) obterUserIndra().getPrincipal();
        }
       
        public Servidor getServidor() {
                if(VerificadorUtil.estaNulo(servidor)){
                        try {
                                setServidor(servidorFacade.consultarServidorPorSequencial(getUsuarioLogado().getSequencialPessoa()));
                        } catch (Exception e) {}
                }
                return servidor;
        }

        public void setServidor(Servidor servidor) {
                this.servidor = servidor;
        }

}