GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Registrar Pausa de usuario logado e mudar status

#1

Galera me tirem uma dúvida por favor: ( caso falte algum código me informem que copio e colo aqui )
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.

0 Likes

#2

Eu falei para você no seu outro post, que nos meus tópicos de login em JSF tem o que você precisa, você não olhou la né? É o primeiro link do google e então o segundo post meu…

Ajuda na parte do login do projecto

1 Like

#3

mike mano eu ja dei uma olhada no teu post e tou estagnado. criei isso oh.

package br.stefanini.projetopausa.bean;

import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.omnifaces.util.Faces;
import org.omnifaces.util.Messages;

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

@ManagedBean
@SessionScoped
public class AutenticacaoBean {

private Usuario usuarioLogado;

private Usuario usuario;

public Usuario getUsuario() {
	return usuario;
}

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

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

public Usuario getUsuarioLogado() {
	return usuarioLogado;
}

public void setUsuarioLogado(Usuario usuarioLogado) {
	this.usuarioLogado = usuarioLogado;
}

public void autenticar() {

	try {
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		usuarioLogado = usuarioDAO.autenticar(usuario.getSenha(), usuario.getMatricula());

		if (usuarioLogado == null) {
			Messages.addGlobalError("Matricula ou senha incorretos");
			return;
		}

		Faces.redirect("./pages/telaSecundariaPausa.xhtml");
	} catch (IOException e) {
		e.printStackTrace();
		Messages.addGlobalError(e.getMessage());
	}
}

}

mas da erro de null pointer exception, vou continuar tentando aqui

0 Likes

#4

Onde e quando?

As anotações @ManagedBean e @SessionScoped estão Deprecated na versão 2.3 do JSF, eu sugiro que você já as troque pelas anotações do CDI, mesmo não usando a versão 2.3, para ja ir pegando o costume e prática do CDI.

0 Likes

#5

OBS: entendo que vc ta querendo ajudar, mas eu sou tão iniciante que posso dizer que não sei de nada, se for pra fazer um projeto sem ver videoAulas ou forum ou com ajuda eu não faço o projeto e to tentando fazer esse “só” para aprender mesmo e criar uma bagagem.

mike, eu tou meio que endoidando aqui, ja mexi no código umas 20vezes, li todo o tópico de login que vc fala que é esse: Ajuda na parte do login do projecto. só que a parte de LOGAR e procurar se existe usuario no BD e passar ou dar erro se não existir, eu ja tinha feito. o problema que estou tendo se caracteriza assim.

primeiramente, na tela de login tem o link de primeiro acesso que faço o cadastro da pessoa, com matricula, nome e senha. a senha eu “implementei” -MD5 que é criptografia. porém se eu salvar usando a pagina e não o metodo daoTEST, ele ta salvando sem a criptografia. esse é o primeiro ponto que tenho que ajeitar. "salvar no banco pela telaPrincipalLogin com a senha criptografada.

Segundamente, se eu quiser LOGAR, eu consigo, mas apenas com usuários que tem a senha criptografada, ainda não entendi pq que isso ocorre. se eu Usar usuários que eu cadastrei que poussem a senha criptografada ele entra normal. Esse é o segundo ponto que tenho que ajeitar. “logar com qualquer senha ( criptografada ou não ) ou quando gravar no banco pela teladelOing a senha ja ir criptograda”

terceiro ponto, vi o seu post inteiro entendi razoavelmente o que vc falou, pois estou “Iniciando” na programação, entendo algumas coisas bem, outras nada mesmo! Ai que ta, quando eu me logo e aperto no nome do usuário logado, por exemplo eu César Ryan e depois registrar pausa, ele da um erro de: ! GRAVE: java.lang.NullPointerException, Caused by: java.lang.NullPointerException, ADVERTÊNCIA: /pages/telaSecundariaPausa.xhtml @26,71 actionListener="#{usuarioBean.testeVerDados}": java.lang.NullPointerException
javax.el.ELException: /pages/telaSecundariaPausa.xhtml @26,71 actionListener="#{usuarioBean.testeVerDados}": java.lang.NullPointerException !
tudo bem, até ai eu entendi meu usuário não esta logado, ou não existe, quer dizer não instanciei ele, mas ai como fazer isso? eu ja tentei usar a tela de login, me logar e tentar registrar a pausa da o erro, e apenas usar a pagina sem me logar, da erro também, como resolver?

vou por o código que já havia feito. obrigado mesmo se vc não tiver entendido ou não conseguir me ajudar.

classe bean autenticacao bean

package br.stefanini.projetopausa.bean;

import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import org.omnifaces.util.Faces;
import org.omnifaces.util.Messages;

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

@ManagedBean
@SessionScoped
public class AutenticacaoBean {

private Usuario usuarioLogado;

private Usuario usuario;

public Usuario getUsuario() {
	return usuario;
}

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

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

public Usuario getUsuarioLogado() {
	return usuarioLogado;
}

public void setUsuarioLogado(Usuario usuarioLogado) {
	this.usuarioLogado = usuarioLogado;
}

public void autenticar() {

	try {
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		usuarioLogado = usuarioDAO.autenticar(usuario.getSenha(), usuario.getMatricula());

		if (usuarioLogado == null) {
			Messages.addGlobalError("Matricula ou senha incorretos");
			return;
		}

		Faces.redirect("./pages/telaSecundariaPausa.xhtml");
	} catch (IOException e) {
		e.printStackTrace();
		Messages.addGlobalError(e.getMessage());
	}
}

}

classe java UsuarioDAO

package br.stefanini.projetopausa.dao;

import java.util.List;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import br.stefanini.projetopausa.domain.Usuario;
import br.stefanini.projetopausa.util.HibernateUtil;

public class UsuarioDAO {

public void salvar(Usuario usuario) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	Transaction transacao = null;

	try {
		transacao = sessao.beginTransaction();
		sessao.save(usuario);
		transacao.commit();
	} catch (RuntimeException erro) {
		if (transacao != null) {
			transacao.rollback();
		}
		throw erro;
	} finally {
		sessao.close();
	}
}

@SuppressWarnings("unchecked")
public List<Usuario> listar() {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	try {
		Criteria consulta = sessao.createCriteria(Usuario.class);
		List<Usuario> resultado = consulta.list();
		return resultado;
	} catch (RuntimeException erro) {
		throw erro;
	} finally {
		sessao.close();
	}
}

// @SuppressWarnings("unchecked")
public Usuario buscar(String matricula) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	try {
		Criteria consulta = sessao.createCriteria(Usuario.class);
		consulta.add(Restrictions.idEq(matricula));
		Usuario resultado = (Usuario) consulta.uniqueResult();
		return resultado;
	} catch (RuntimeException erro) {
		throw erro;
	} finally {
		sessao.close();
	}
}

public void excluir(Usuario usuario) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	Transaction transacao = null;

	try {
		transacao = sessao.beginTransaction();
		sessao.delete(usuario);
		transacao.commit();
	} catch (RuntimeException erro) {
		if (transacao != null) {
			transacao.rollback();
		}
		throw erro;
	} finally {
		sessao.close();
	}
}

public void editar(Usuario usuario) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	Transaction transacao = null;

	try {
		transacao = sessao.beginTransaction();
		sessao.update(usuario);
		transacao.commit();
	} catch (RuntimeException erro) {
		if (transacao != null) {
			transacao.rollback();
		}
		throw erro;
	} finally {
		sessao.close();
	}
}

// Criaria um método que averiguasse se o usuário existe no banco, se existe,
// retorna ele então.
public Usuario autenticar(String senha, String matricula) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();

	try {
		Criteria consulta = sessao.createCriteria(Usuario.class);

		consulta.add(Restrictions.eq("matricula", matricula));

		SimpleHash hash = new SimpleHash("md5", senha);
		consulta.add(Restrictions.eq("senha", hash.toHex()));

		Usuario resultado = (Usuario) consulta.uniqueResult();
		return resultado;
	} catch (RuntimeException erro) {
		throw erro;
	} finally {
		sessao.clear();
	}

}

public void merge(Usuario usuario) {
	Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
	Transaction transacao = null;

	try {
		transacao = sessao.beginTransaction();
		sessao.merge(usuario);
		transacao.commit();
	} catch (RuntimeException erro) {
		if (transacao != null) {
			transacao.rollback();
		}
		throw erro;
	} finally {
		sessao.close();
	}
}

}

classe 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.SessionScoped;
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
@SessionScoped
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();
		// usuarios = usuarioDAO.listar(); - usuar na hora de por a pausa
		Messages.addFlashGlobalInfo("Usuario salvo com sucesso.");
	} catch (RuntimeException erro) {
		Messages.addGlobalError("Ocorreu um erro ao salvar o usuario.");
		erro.printStackTrace();
	}
}

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

}

minha classe usuarioDAOTEST

package br.stefanini.projetopausa.dao;

import java.util.List;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.junit.Ignore;
import org.junit.Test;

import br.stefanini.projetopausa.domain.Usuario;

public class UsuarioDAOTest {

@Test
@Ignore
public void salvar() {

	Usuario usuario = new Usuario();
	usuario.setMatricula("c014582");
	usuario.setNome("Maria Fidelis");
	usuario.setSenhaCriptografada("asd124s");

	SimpleHash hash = new SimpleHash("md5", usuario.getSenhaCriptografada());
	usuario.setSenha(hash.toHex());

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	usuarioDAO.salvar(usuario);

}

@Ignore
@Test
public void listar() {
	UsuarioDAO usuarioDAO = new UsuarioDAO();
	List<Usuario> usuarios = usuarioDAO.listar();

	System.out.println(usuarios.size());
}

@Test
@Ignore
public void buscar() {
	String matricula = "c014587";

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	Usuario usuario = usuarioDAO.buscar(matricula);

	System.out.println("Nome do colaborador : " + usuario.getNome());
	System.out.println();

}

@Test
@Ignore
public void excluir() {
	String matricula = "c014587";

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	Usuario usuario = usuarioDAO.buscar(matricula);

	usuarioDAO.excluir(usuario);
	System.out.println("Usuario removido!");
	System.out.println("Nome do colaborador excluido: " + usuario.getNome());
	System.out.println();

}

@Test
@Ignore
public void editar() {
	String matricula = "c014583";

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	Usuario usuario = usuarioDAO.buscar(matricula);

	usuario.setNome("Emanoel");
	usuario.setSenha("654321");

	usuarioDAO.editar(usuario);
	System.out.println("Usuario editado: ");
	System.out.println("Matricula: " + usuario.getMatricula());
	System.out.println("Nome do usuario " + usuario.getNome());
	System.out.println("Senha do usuario: " + usuario.getSenha());
	System.out.println();

}

@Test
@Ignore
public void autenticar() {
	String matricula = "c014587";
	String senha = "q1w2e3r4";

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	Usuario usuario = usuarioDAO.autenticar(senha, matricula);

	System.out.println("Usuario autenticado: " + usuario.getNome());
}

@Test
@Ignore
public void salvarsimples() {
	Usuario usuario = new Usuario();
	usuario.setMatricula("c014588");
	usuario.setNome("Wilkins");
	usuario.setSenha("123456");
	
	UsuarioDAO usuarioDAO = new UsuarioDAO();
	usuarioDAO.salvar(usuario);
	
}

@Test
//@Ignore
public void merge() {

// Usuario usuario = new Usuario();
// usuario.setMatricula(“c014588”);
// usuario.setNome(“Wilkins”);
// usuario.setSenha(“123456”);
//
// UsuarioDAO usuarioDAO = new UsuarioDAO();
// usuarioDAO.merge(usuario);

	UsuarioDAO usuarioDAO = new UsuarioDAO();
	Usuario usuario = usuarioDAO.buscar("c014588");
	usuario.setNome("Potter");
	usuarioDAO.merge(usuario);
	
	
}

}

minha tela principal de LOGIN

<?xml version="1.0" encoding="UTF-8" ?>
<h:outputStylesheet library="css" name="file.css" />

<title>Login</title>

</h:head>
<h:body>
<p:growl id=“mensagem” />
<h:form>
<h:panelGrid width=“100%” style=“text-align:center”>

<p:graphicImage library=“imagens” name=“stefanini.jpg” width=“500” />

		<div class="login-box" />
		<h1>Login</h1>

		<!-- Campo de usário -->

		<p:inputText placeholder="Matricula" value="#{autenticacaoBean.usuario.matricula}" />

		<!-- Campo da senha -->
		<p:password placeholder="Senha" value="#{autenticacaoBean.usuario.senha}"/>

	</h:panelGrid>

	<h:panelGrid columns="2" width="100%" style="text-align:center">

		<p:commandLink value="1ª Acesso"
			oncomplete="PF('dlgCadastro').show();"
			actionListener="#{usuarioBean.novo()}"
			update=":formCadastro:painelCadastro" />

		<p:commandButton value="Entrar" actionListener="#{autenticacaoBean.autenticar()}" update=":mensagem"/>

	</h:panelGrid>

</h:form>
<p:dialog header="Cadastro de Usuário" widgetVar="dlgCadastro"
	draggable="false" resizable="false" modal="true">

	<h:form id="formCadastro">
	
		<h:panelGrid id="painelCadastro">
		
			<p:inputText value="#{usuarioBean.usuario.nome}" placeholder="Nome"
				size="30" maxlength="55" />
				
			<p:inputText value="#{usuarioBean.usuario.matricula}"
				placeholder="Matricula" size="15" maxlength="7" />
				
			<p:password value="#{usuarioBean.usuario.senha}"
				placeholder="Senha" size="15" maxlength="12" />
				
		</h:panelGrid>
		
		<h:panelGrid columns="2">
		
			<p:commandButton value="Cadastrar"
				actionListener="#{usuarioBean.salvar()}"
				update=":mensagem :formCadastro:painelCadastro" />
				
			<p:commandButton value="Cancelar"
				oncomplete="PF('dlgCadastro').hide();" />
				
		</h:panelGrid>
		
	</h:form>
	
</p:dialog>

</h:body>

minha tela secundaria de pausas

<?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.testeVerDados}" 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>

0 Likes

#6

Opa alguém me presta um help?

0 Likes