Null arrives attribute in Managedbean

Asked

Viewed 45 times

0

I have an object called Historicosituacaodocumentacaoprotocoloonline, this object has some dates, a description and another object, called Situacaodocumentacaoprotocoloonline. The dates are being saved normally, however the description and the Situacaodocumentacaoprotocoloonline, are not being saved, they are coming as null

Method to save Documentation analysis

public void inserirAnaliseDocumentacaoOnline() throws ParseException {
    historicoSituacaoDocumentacaoProtocoloOnline.setDataSituacao(new Date()); 
    Calendar prazo = Calendar.getInstance();
    prazo.add(Calendar.DATE, 1);
    historicoSituacaoDocumentacaoProtocoloOnline.setPrazoRegularizacao(prazo.getTime());
    historicoSituacaoDocumentacaoProtocoloOnline.setSituacaoDocumentacaoProtocoloOnline(situacaoDocumentacaoProtocoloOnlineSelecionada);
    historicoSituacaoDocumentacaoProtocoloOnline.setProtocolo(protocolo);
    historicoSituacaoDocumentacaoProtocoloOnline.setDescricao(descricaoHistoricoSituacaoDocumentacaoProtocoloOnline);

    historicoSituacaoDocumentacaoProtocoloOnlineDao.salvar(historicoSituacaoDocumentacaoProtocoloOnline);
    enviarEmailParaProfissional(historicoSituacaoDocumentacaoProtocoloOnline);

    historicoSituacaoDocumentacaoProtocoloOnline = new HistoricoSituacaoDocumentacaoProtocoloOnline();
}

Convert class

@FacesConverter(value="situacaoDocumentacaoProtocoloOnlineConverter")
public class SituacaoDocumentacaoProtocoloOnlineConverter implements Converter {

@Override
public Object getAsObject(FacesContext context, UIComponent component, String string) {
    if (string == null || string.equals("Selecione...")) {
        return null;
    }

    Long id = Long.parseLong(string);
    SituacaoDocumentacaoProtocoloOnline situacaoDocumentacaoProtocoloOnline = new SituacaoDocumentacaoProtocoloOnline();
    situacaoDocumentacaoProtocoloOnline.setIdSituacaoDocumentacaoProtocoloOnline(id);

    return situacaoDocumentacaoProtocoloOnline;
}

@Override
public String getAsString(FacesContext context, UIComponent component, Object object) {
    if (object == null) {
        return null;
    }

    if(object instanceof SituacaoDocumentacaoProtocoloOnline) {
        SituacaoDocumentacaoProtocoloOnline situacaoDocumentacaoProtocoloOnline = (SituacaoDocumentacaoProtocoloOnline) object;

        return "" + situacaoDocumentacaoProtocoloOnline.getIdSituacaoDocumentacaoProtocoloOnline();
    } 

    else {
        throw new IllegalArgumentException("object:" + object + "of type:" + 
                object.getClass().getName() + "; expected type:br.org.web.entities.SituacaoDocumentacaoProtocoloOnline");
    }
}    
}

Entity Historicosituacaoprotocoloonline

@Entity
public class HistoricoSituacaoDocumentacaoProtocoloOnline implements Serializable {
private static final long serialVersionUID = 1L;

private Long idHistoricoSituacaoDocumentacaoProtocoloOnline;
private Protocolo protocolo;
private SituacaoDocumentacaoProtocoloOnline situacaoDocumentacaoProtocoloOnline;
private Date dataSituacao;
private Date prazoRegularizacao;
private String descricao;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getIdHistoricoSituacaoDocumentacaoProtocoloOnline() {
    return idHistoricoSituacaoDocumentacaoProtocoloOnline;
}

public void setIdHistoricoSituacaoDocumentacaoProtocoloOnline(Long idHistoricoSituacaoDocumentacaoProtocoloOnline) {
    this.idHistoricoSituacaoDocumentacaoProtocoloOnline = idHistoricoSituacaoDocumentacaoProtocoloOnline;
}

@ManyToOne
public Protocolo getProtocolo() {
    return protocolo;
}

public void setProtocolo(Protocolo protocolo) {
    this.protocolo = protocolo;
}

@ManyToOne
@JoinColumn(name = "idSituacaoDocumentacaoProtcoloOnline")
public SituacaoDocumentacaoProtocoloOnline getSituacaoDocumentacaoProtocoloOnline() {
    return situacaoDocumentacaoProtocoloOnline;
}

public void setSituacaoDocumentacaoProtocoloOnline(SituacaoDocumentacaoProtocoloOnline situacaoDocumentacaoProtocoloOnline) {
    this.situacaoDocumentacaoProtocoloOnline = situacaoDocumentacaoProtocoloOnline;
}

@Temporal(TemporalType.TIMESTAMP)
public Date getDataSituacao() {
    return dataSituacao;
}

public void setDataSituacao(Date dataSituacao) {
    this.dataSituacao = dataSituacao;
}

@Temporal(TemporalType.DATE)
public Date getPrazoRegularizacao() {
    return prazoRegularizacao;
}

public void setPrazoRegularizacao(Date prazoRegularizacao) {
    this.prazoRegularizacao = prazoRegularizacao;
}

@Lob
@Type(type = "org.hibernate.type.StringClobType")
public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

@Override
public int hashCode() {
    int hash = 3;
    hash = 31 * hash + (this.idHistoricoSituacaoDocumentacaoProtocoloOnline != null ? this.idHistoricoSituacaoDocumentacaoProtocoloOnline.hashCode() : 0);
    return hash;
}

@Override
public boolean equals(Object obj) {
    if (obj == null) {
        return false;
    }
    if (getClass() != obj.getClass()) {
        return false;
    }
    final HistoricoSituacaoDocumentacaoProtocoloOnline other = (HistoricoSituacaoDocumentacaoProtocoloOnline) obj;
    if (this.idHistoricoSituacaoDocumentacaoProtocoloOnline != other.idHistoricoSituacaoDocumentacaoProtocoloOnline && (this.idHistoricoSituacaoDocumentacaoProtocoloOnline == null || !this.idHistoricoSituacaoDocumentacaoProtocoloOnline.equals(other.idHistoricoSituacaoDocumentacaoProtocoloOnline))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "HistoricoSituacaoDocumentacaoProtocoloOnline{" + "idHistoricoSituacaoDocumentacaoProtocoloOnline=" + idHistoricoSituacaoDocumentacaoProtocoloOnline + ", "
            + "protocolo=" + protocolo + ", situacaoDocumentacaoProtocoloOnline=" + situacaoDocumentacaoProtocoloOnline + ", "
            + "dataSituacao=" + dataSituacao + ", prazoRegularizacao=" + prazoRegularizacao + ", descricao=" + descricao + '}';
}
}

Entity Situacaodocumentacaoprotocoloonline

@Entity
public class SituacaoDocumentacaoProtocoloOnline implements Serializable {
private static final long serialVersionUID = 1L;

private Long idSituacaoDocumentacaoProtocoloOnline;
private String descricao;



public SituacaoDocumentacaoProtocoloOnline() {
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getIdSituacaoDocumentacaoProtocoloOnline() {
    return idSituacaoDocumentacaoProtocoloOnline;
}

public void setIdSituacaoDocumentacaoProtocoloOnline(Long idSituacaoDocumentacaoProtocoloOnline) {
    this.idSituacaoDocumentacaoProtocoloOnline = idSituacaoDocumentacaoProtocoloOnline;
}

@Lob
@Type(type = "org.hibernate.type.StringClobType")
public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

@Override
public int hashCode() {
    int hash = 7;
    hash = 29 * hash + (this.idSituacaoDocumentacaoProtocoloOnline != null ? this.idSituacaoDocumentacaoProtocoloOnline.hashCode() : 0);
    return hash;
}

@Override
public boolean equals(Object obj) {
    if (obj == null) {
        return false;
    }
    if (getClass() != obj.getClass()) {
        return false;
    }
    final SituacaoDocumentacaoProtocoloOnline other = (SituacaoDocumentacaoProtocoloOnline) obj;
    if (this.idSituacaoDocumentacaoProtocoloOnline != other.idSituacaoDocumentacaoProtocoloOnline && (this.idSituacaoDocumentacaoProtocoloOnline == null || !this.idSituacaoDocumentacaoProtocoloOnline.equals(other.idSituacaoDocumentacaoProtocoloOnline))) {
        return false;
    }
    return true;
}

@Override
public String toString() {
    return "SituacaoDocumentacaoProtocoloOnline{" + "idSituacaoDocumentacaoProtocoloOnline=" + idSituacaoDocumentacaoProtocoloOnline + ", "
            + "descricao=" + descricao + '}';
}
}

View That Saves the Object

<h:form>
        <p:dialog widgetVar="analiseDocumentacaoDialog" header="Inserir Análise da Documentação">
        <h:outputLabel value="Situação da Documentação: "/>
        <br />

        <p:selectOneMenu value="#{protocoloController.situacaoDocumentacaoProtocoloOnlineSelecionada}"
                         converter="situacaoDocumentacaoProtocoloOnlineConverter"
                         validator="#{protocoloController.validatorTesteSituacao}">
            <f:selectItems value="#{protocoloController.obterSituacoesDocumentacaoProtocoloOnline()}" />
        </p:selectOneMenu>

        <br />

        <h:outputLabel value="Descrição da Situação: " />

        <br />

        <h:inputTextarea value="#{protocoloController.descricaoHistoricoSituacaoDocumentacaoProtocoloOnline}" cols="53" rows="7"
                         validator="#{protocoloController.validatorTesteDescricao}"/>
        <br />
        <p:commandButton action="#{protocoloController.inserirAnaliseDocumentacaoOnline()}" process="@this" 
                         update="#{protocoloController.atualizarComponentes}"
                         value="Inserir Analise" icon="inserir" oncomplete="analiseDocumentacaoDialog.hide()"/>

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

1 answer

1


In Commandbutton to insert the online document analysis you are setting the process="@this" and processing only Button. Try changing to process="@form".

Browser other questions tagged

You are not signed in. Login or sign up in order to post.