Problems with form

0

Good morning.

I have a form in which I need to edit, change, and register records to show / select in a datatable.

IusetwoobjectsoftypeUser.useranduserSelection.However,I'mhavingtroubleeditingvaluesbecausetheformendsupbringingthedatablank.

FollowPOJO,Bean,andView.

user.xhtml

<?xmlversion="1.0" encoding="ISO-8859-1"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui"
    xmlns:h="http://java.sun.com/jsf/html"
    template="/resources/template/template_restrito.xhtml">

    <ui:define name="css">
        <h:outputStylesheet library="css" name="restrito.css" />
    </ui:define>

    <ui:define name="content">
        <div id="content">
            <br />
            <h:outputLabel value="Usuários" class="title" />
            <br />

            <h:form id="form">
                <p:commandButton value="Novo" icon="ui-icon-document"
                    actionListener="#{adminBean.novoUsuario}" process="@this"
                    update="dataTable" oncomplete="PF('usuarioDialog').show()"
                    class="botaoDataTable">
                    <p:resetInput target="usuario-dialog" />
                </p:commandButton>

                <p:commandButton icon="ui-icon-pencil" id="btnEditar" title="Editar"
                    disabled="#{adminBean.usuario == null}" class="botaoDataTable"
                    process="@this" update="dataTable :form"
                    oncomplete="PF('usuarioDialog').show()">
                    <p:resetInput target="usuario-dialog" />
                    <f:setPropertyActionListener target="#{adminBean.usuarioSelecao}"
                        value="#{adminBean.usuarioSelecao}" />
                </p:commandButton>

                <p:commandButton icon="ui-icon-trash" id="btnExcluir"
                    title="Excluir" disabled="#{adminBean.usuario == null}"
                    class="botaoDataTable" action="#{adminBean.excluirUsuario}"
                    process="@this" update="dataTable btnExcluir btnEditar" />

                <p:dataTable var="u" value="#{adminBean.usuarios}" paginator="true"
                    rows="10" class="dataTable" id="dataTable"
                    emptyMessage="Nenhum Usuario Cadastrado" paginatorPosition="bottom"
                    selection="#{adminBean.usuarioSelecao}" selectionMode="single"
                    rowKey="#{u.idUsuario}">

                    <p:ajax event="rowSelect"
                        updtate=":form:btnEditar :form:btnExcluir" />
                    <p:ajax event="rowUnselect"
                        updtate=":form:btnEditar :form:btnExcluir" />

                    <p:column headerText="Nome" sortBy="#{u.nomeUsuario}">
                        <h:outputText value="#{u.nomeUsuario}" />
                    </p:column>

                    <p:column headerText="E-mail" sortBy="#{u.emailUsuario}">
                        <h:outputText value="#{u.emailUsuario}" />
                    </p:column>
                </p:dataTable>

                <p:dialog header="Usuario" widgetVar="usuarioDialog"
                    id="usuario-dialog" resizable="false" modal="true"
                    closeOnEscape="true">
                    <p:messages />

                    <p:panelGrid styleClass="semBorda">
                        <p:row>
                            <p:column>
                                <h:outputLabel for="nome" value="Nome: "
                                    class="componentePF label" />
                            </p:column>
                            <p:column>
                                <p:inputText id="nome" value="#{adminBean.usuario.nomeUsuario}"
                                    class="componentePF text" />
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel for="email" value="E-mail: "
                                    class="componentePF label" />
                            </p:column>
                            <p:column>
                                <p:inputText id="email"
                                    value="#{adminBean.usuario.emailUsuario}"
                                    class="componentePF text" />
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column colspan="2">
                                <p:commandButton value="Cadastrar" icon="ui-icon-disk"
                                    action="#{adminBean.cadastrarUsuario}" id="cadastrarUsuario"
                                    ajax="false" class="componentePF button" />
                            </p:column>
                        </p:row>
                    </p:panelGrid>
                </p:dialog>
            </h:form>
        </div>
    </ui:define>
</ui:composition>

User.java

package br.com.hidros.model.pojo;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import br.com.hidros.control.SampleEntity;

@Entity
@Table(name="usuario", schema="hidros")
public class Usuario implements Serializable, SampleEntity {

    private static final long serialVersionUID = 1L;

    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int idUsuario;

    private String nomeUsuario;

    private String emailUsuario;

    private boolean ativo = true;

    private String senhaUsuario = "abc123";

    /***************************************/
    /************** Construtor *************/
    /***************************************/

    public Usuario() {

    }

    /***************************************/
    /********** Getters e Setters **********/
    /***************************************/

    public int getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(int idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getNomeUsuario() {
        return nomeUsuario;
    }

    public void setNomeUsuario(String nomeUsuario) {
        this.nomeUsuario = nomeUsuario;
    }

    public String getEmailUsuario() {
        return emailUsuario;
    }

    public void setEmailUsuario(String emailUsuario) {
        this.emailUsuario = emailUsuario;
    }

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public String getSenhaUsuario() {
        return senhaUsuario;
    }

    public void setSenhaUsuario(String senhaUsuario) {
        this.senhaUsuario = senhaUsuario;
    }

    @Override
    public Long getIdSampleEntity() {
        return Long.valueOf(idUsuario);
    }

    /***************************************/
    /************ Hash e Equals ************/
    /***************************************/

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + (ativo ? 1231 : 1237);
        result = prime * result
                + ((emailUsuario == null) ? 0 : emailUsuario.hashCode());
        result = prime * result + idUsuario;
        result = prime * result
                + ((nomeUsuario == null) ? 0 : nomeUsuario.hashCode());
        result = prime * result
                + ((senhaUsuario == null) ? 0 : senhaUsuario.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Usuario other = (Usuario) obj;
        if (ativo != other.ativo)
            return false;
        if (emailUsuario == null) {
            if (other.emailUsuario != null)
                return false;
        } else if (!emailUsuario.equals(other.emailUsuario))
            return false;
        if (idUsuario != other.idUsuario)
            return false;
        if (nomeUsuario == null) {
            if (other.nomeUsuario != null)
                return false;
        } else if (!nomeUsuario.equals(other.nomeUsuario))
            return false;
        if (senhaUsuario == null) {
            if (other.senhaUsuario != null)
                return false;
        } else if (!senhaUsuario.equals(other.senhaUsuario))
            return false;
        return true;
    }

}

Bean

package br.com.hidros.control.beans;

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

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.hidros.control.dao.PermissaoDAO;
import br.com.hidros.control.dao.UsuarioDAO;
import br.com.hidros.control.dao.Usuario_PermissaoDAO;
import br.com.hidros.model.pojo.Permissao;
import br.com.hidros.model.pojo.Usuario;
import br.com.hidros.model.pojo.Usuario_Permissao;

@ManagedBean(name="adminBean")
@SessionScoped
@SuppressWarnings("unused")
public class AdminBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private Usuario usuario = new Usuario();
    private Usuario_Permissao usuarioPermissao = new Usuario_Permissao();
    private Permissao permissao = new Permissao();

    private Usuario usuarioSelecao = new Usuario();
    private Usuario_Permissao usuarioPermissaoSelecao  = new Usuario_Permissao();
    private Permissao permissaoSelecao  = new Permissao();

    private UsuarioDAO usuarioDAO = new UsuarioDAO();
    private Usuario_PermissaoDAO usuarioPermissaoDAO = new Usuario_PermissaoDAO();
    private PermissaoDAO permissaoDAO = new PermissaoDAO();

    private List<Usuario> usuarios;
    private List<Usuario_Permissao> permissoesUsuario;
    private List<Permissao> permissoes;

    /***************************************/
    /*********** Métodos Próprios **********/
    /***************************************/

    public String sair() {
        return "/restrito/homeSomore";
    }

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

    public void novaPermissao() {
        permissao = new Permissao();
    }

    public void novoUsuarioPermissao() {
        usuarioPermissao = new Usuario_Permissao();
    }

    public void cadastrarUsuario() {
        usuarioDAO.salvar(usuario);
    }

    public void cadastrarPermissao() {
        permissaoDAO.salvar(permissao);
        permissao = null;
        permissaoSelecao = null;
    }

    public void cadastrarUsuarioPermissao() {
        usuarioPermissaoDAO.salvar(usuarioPermissao);
    }

    public void excluirUsuario() {
        usuarioPermissaoDAO.excluir(usuarioSelecao);
        usuarioDAO.excluir(usuarioSelecao);
    }

    public void excluirPermissao() {
        usuarioPermissaoDAO.excluir(permissaoSelecao);
        permissaoDAO.excluir(permissaoSelecao);
        permissao = null;
        permissaoSelecao = null;
    }

    public void excluirUsuarioPermissao() {
        usuarioPermissaoDAO.excluir(usuarioPermissaoSelecao);
    }

    public String logar() {
        FacesContext context = FacesContext.getCurrentInstance();
        ExternalContext external= context.getExternalContext();
        HttpServletRequest request =(HttpServletRequest) external.getRequest();

        if(request.isUserInRole("ROLE_USUARIO") || request.isUserInRole("ROLE_ADMIN") || request.isUserInRole("ROLE_GERENTE"))
            return "/restrito/home.jsf";
        return "/publico/home.jsf";
    }

    /***************************************/
    /********** Getters e Setters **********/
    /***************************************/

    public Usuario getUsuario() {
        return usuario == null ? usuario = new Usuario() : usuario;
    }

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

    public Usuario_Permissao getUsuarioPermissao() {
        return usuarioPermissao == null ? usuarioPermissao = new Usuario_Permissao() : usuarioPermissao;
    }

    public void setUsuarioPermissao(Usuario_Permissao usuarioPermissao) {
        this.usuarioPermissao = usuarioPermissao;
    }

    public Permissao getPermissao() {
        return permissao == null ? permissao = new Permissao() : permissao;
    }

    public void setPermissao(Permissao permissao) {
        this.permissao = permissao;
    }

    public Usuario getUsuarioSelecao() {
        return usuarioSelecao;
    }

    public void setUsuarioSelecao(Usuario usuarioSelecao) {
        this.usuarioSelecao = usuarioSelecao;
    }

    public Usuario_Permissao getUsuarioPermissaoSelecao() {
        return usuarioPermissaoSelecao;
    }

    public void setUsuarioPermissaoSelecao(Usuario_Permissao usuarioPermissaoSelecao) {
        this.usuarioPermissaoSelecao = usuarioPermissaoSelecao;
    }

    public Permissao getPermissaoSelecao() {
        return permissaoSelecao;
    }

    public void setPermissaoSelecao(Permissao permissaoSelecao) {
        this.permissaoSelecao = permissaoSelecao;
    }

    public List<Usuario> getUsuarios() {
        return usuarios = usuarioDAO.listar();
    }

    public List<Usuario_Permissao> getPermissoesUsuario() {
        return permissoesUsuario = usuarioPermissaoDAO.listar();
    }

    public List<Permissao> getPermissoes() {
        return permissoes = permissaoDAO.listar();
    }

}
    
asked by anonymous 01.10.2015 / 14:27

1 answer

1

I realized now that I gave mole, I ended up assigning userSelection to userSelection. I adjusted that and it worked. rs

The problem now is that when I click the "New" button it is not instantiating a new User for User.

    
01.10.2015 / 14:53