Java tutorial
/*** Copyright (c) 2012 - 2020 Hrcules S. S. Jos Este arquivo parte do programa Oramento Domstico. Oramento Domstico um software livre; voc pode redistribui-lo e/ou modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como publicada pela Fundao do Software Livre (FSF); na verso 2.1 da Licena. Este programa distribudo na esperana que possa ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implcita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em portugus para maiores detalhes. Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o nome de "LICENSE.TXT" junto com este programa, se no, acesse o site do projeto no endereco https://github.com/herculeshssj/orcamento ou escreva para a Fundao do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Para mais informaes sobre o programa Oramento Domstico e seu autor entre em contato pelo e-mail herculeshssj@outlook.com, ou ainda escreva para Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, Marco II - Nova Iguau, RJ, Brasil. ***/ package br.com.hslife.orcamento.component; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Component; import br.com.hslife.orcamento.entity.Moeda; import br.com.hslife.orcamento.entity.Usuario; import br.com.hslife.orcamento.facade.IMoeda; import br.com.hslife.orcamento.facade.IUsuario; @Component public class UsuarioComponent { private static final Logger logger = LogManager.getLogger(UsuarioComponent.class); @Autowired private IUsuario usuarioService; @Autowired private IMoeda moedaService; private IUsuario getService() { return this.usuarioService; } public IMoeda getMoedaService() { return moedaService; } public Usuario getUsuarioLogado() { try { String login = ""; SecurityContext context = SecurityContextHolder.getContext(); if (context instanceof SecurityContext) { Authentication authentication = context.getAuthentication(); if (authentication instanceof Authentication) { login = ((User) authentication.getPrincipal()).getUsername(); } } return getService().buscarPorLogin(login); } catch (Throwable t) { logger.catching(t); throw new RuntimeException(t); } } /** * Inicializa uma moeda padro para o usurio recm cadastrado */ public void initializeMoedaPadrao(Usuario usuario) { Moeda moedaPadrao = new Moeda(); moedaPadrao.setCodigoMonetario("BRL"); moedaPadrao.setNome("Real"); moedaPadrao.setPadrao(true); moedaPadrao.setPais("Brasil"); moedaPadrao.setSiglaPais("BR"); moedaPadrao.setSimboloMonetario("R$"); moedaPadrao.setUsuario(usuario); getMoedaService().cadastrar(moedaPadrao); } }