Pegar atributos de pessoa logada

0 respostas
Cesar_Ryan

Galera estou com o seguinte problema… como faço para pegar uma pessoa logada e fazer com que quando eu clicar no botão de registrar pausa ele troque o atributo status que por padrão deixei 0 ( false) ir para true?

pela aula do sergio to tentando primeiro pegar uma pessoa logada e exibir na tela pelo menos o nome para saber se funcionou que ai depois vou para a parte de implementar o metodo. Pode me ajudar?

segue o código da tela secundaria, que é a tela após a pessoa logar.

<?xml version="1.0" encoding="UTF-8" ?> Tela de Pausas

<h:body>
<p:growl id=“mensagem” />
<h:form>

<p:graphicImage library="imagens" name="stefanini.jpg" width="180"
		styleClass="imagemCentralizada" />

	<!-- Barra de menu do usuario -->
	<p:menubar>
		<p:submenu label="#{autenticacaoBean.usuarioLogado.nome}">
			<p:menuitem value="Registrar pausa"
				oncomplete="PF('dlgPausa').show();" icon="ui-icon-pause"
				actionListener="#{usuarioBean.excluir}" update=":mensagem">
				<f:attribute name="usuarioSelecionado" value="#{usuario}" />
			</p:menuitem>
			<p:menuitem value="Editar cadastro"
				oncomplete="PF('dlgEditarCadastro').show();" icon="ui-icon-pencil"
				update=":mensagem" />

			<p:menuitem value="Atualizar" icon="ui-icon-refresh" />
			<p:menuitem value="Sobre" icon="ui-icon-info" />

		</p:submenu>

		<f:facet name="options">

			<p:commandButton type="button" value="Sair" icon="ui-icon-extlink" />

		</f:facet>

	</p:menubar>
	<!-- Barra de menu do usuario -->

	<!-- Tabela de usuarios -->
	<p:dataTable value="#{usuarioBean.usuarios}" var="usuario">

		<p:column headerText="Usuário" sortBy="#{usuario.nome}"
			filterBy="#{usuario.nome}">
			<h:outputText value="#{usuario.nome}" />
		</p:column>

		<p:column headerText="Status" sortBy="#{usuario.status}">
			<h:outputText value="#{usuario.status}" />
		</p:column>


	</p:dataTable>
	<!-- Tabela de usuarios -->

</h:form>


<!-- Dialogo de registrar Pausa -->
<p:dialog header="Registrar pausa" widgetVar="dlgPausa"
	draggable="false" resizable="false" modal="true">
	<h:form>


		<p:inputText placeholder="Matricula" />
		<h:panelGrid columns="2">
			<p:selectOneMenu>
				<f:selectItem itemValue="Pausa 10" itemLabel="Pausa 10" />
				<f:selectItem itemValue="Intervalo" itemLabel="Intervalo" />
			</p:selectOneMenu>
			<p:commandButton icon="ui-icon-check" />
		</h:panelGrid>

	</h:form>
</p:dialog>

<!-- Dialogo de editar cadastro -->
<p:dialog header="Registrar pausa" widgetVar="dlgEditarCadastro"
	draggable="false" resizable="false" modal="true">
	<h:form>

		<h:panelGrid>
			<p:inputText placeholder="Matricula" />
			<p:selectOneMenu>
				<f:selectItem itemValue="Pausa 10" itemLabel="Pausa 10" />
				<f:selectItem itemValue="Intervalo" itemLabel="Intervalo" />
			</p:selectOneMenu>
		</h:panelGrid>

	</h:form>
</p:dialog>

</h:body>

código do usuarioBean…

package br.stefanini.projetopausa.bean;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.ViewScoped;

import javax.faces.event.ActionEvent;

import org.omnifaces.util.Messages;

import br.stefanini.projetopausa.dao.UsuarioDAO;
import br.stefanini.projetopausa.domain.Usuario;

@SuppressWarnings(serial)

@ManagedBean

@ViewScoped

public class UsuarioBean implements Serializable {
private Usuario usuario;
private List<Usuario> usuarios;

public Usuario getUsuario() {
	return usuario;
}

public void setUsuario(Usuario usuario) {
	this.usuario = usuario;
}

public List<Usuario> getUsuarios() {
	return usuarios;
}

public void setUsuarios(List<Usuario> usuarios) {
	this.usuarios = usuarios;
}

@PostConstruct
public void listar() {
	try {
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		usuarios = usuarioDAO.listar();
	} catch (RuntimeException erro) {
		Messages.addGlobalError("Ocorreu um erro ao tentar listar os usuarios");
		erro.printStackTrace();
	}

}

public void novo() {
	usuario = new Usuario();
}

public void salvar() {
	try {
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		usuarioDAO.salvar(usuario);

		novo();
		Messages.addFlashGlobalInfo("Usuario salvo com sucesso.");
	} catch (RuntimeException erro) {
		Messages.addGlobalError("Ocorreu um erro ao salvar o usuario.");
		erro.printStackTrace();
	}
}

public void excluir(ActionEvent evento) {
	usuario = (Usuario) evento.getComponent().getAttributes().get("usuarioSelecionado");
	Messages.addGlobalInfo("Nome"+ usuario.getNome());
}

}

videoaula do sergio para excluir o cadastro, mas é o mesmo principio para o meu metodo de registrar pausa ( eu acho )

obs: lembrando que o metodo ta com nome de excluir mais na vdd eu quero que ele registre a pausa, porém fiz igual o da aula para nao ter erro.

o log do console após apertar no menubar e escolher o menuItem Registrar pausa.

ADVERTÊNCIA: /pages/telaSecundariaPausa.xhtml @26,65 actionListener="#{usuarioBean.excluir}": java.lang.NullPointerException

javax.el.ELException: /pages/telaSecundariaPausa.xhtml @26,65 actionListener="#{usuarioBean.excluir}": java.lang.NullPointerException

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)

at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException

at br.stefanini.projetopausa.bean.UsuarioBean.excluir(UsuarioBean.java:71)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.el.parser.AstValue.invoke(AstValue.java:247)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

 31 more
set 27, 2018 12:28:37 AM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError

GRAVE: java.lang.NullPointerException

at br.stefanini.projetopausa.bean.UsuarioBean.excluir(UsuarioBean.java:71)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.el.parser.AstValue.invoke(AstValue.java:247)

at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:147)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)

at javax.faces.component.UICommand.broadcast(UICommand.java:300)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Unknown Source)

o erro é de nullpointer exception no caso ele nao ta pegando o usuário logado, eu ja fiz o teste pegando a tela principal me logando e apertar no menu bar depois no menuItem e o erro é o mesmo.

Criado 29 de setembro de 2018
Respostas 0
Participantes 1