I have a field of type Enum:
public enum StatusImpressaoEnum {
PREVISAO(0 ,"Previsão"),
EMELABORACAO(1, "Em Elaboração"),
AGUARDANDOREPASSE(2, "Aguardando Repasse"),
REPASSERECEBIDO(3, "Repasse Recebido"),
ATENDIDO(4 ,"Atendido"),
SOLICITACAORECUSADA(5, "Solicitação Recusada"),
ARQUIVADO(6 ,"Arquivado"),
CANCELADO(7,"Cancelado");
private final Integer codigo;
private final String descricao;
private StatusImpressaoEnum(Integer codigo, String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
public Integer getCodigo() {
return codigo;
}
public String getDescricao() {
return descricao;
}
public static StatusImpressaoEnum obtemPorCodigo(int valor) {
for (StatusImpressaoEnum enumerador : StatusImpressaoEnum.values()) {
if (enumerador.getCodigo() == valor) {
return enumerador;
}
}
return null;
}
}
and I want to do the following:
rendered="# {peg.status.description! = 'Canceled'}" >
Given that the status is of the type of this enum. At first this command is doing nothing or it is still rendering with the status Canceled.
I put in an oputput to see the result:
And I received the error:
com.sun.faces.facelets.el.TagMethodExpression can not be cast to [Ljava.lang.Object;
View code:
<rich:dataTable value="#{solicitacaoImpressaoBean.solicitacoesImpressao}" var="peg" rows="15" rowClasses="linhaPar, linhaImpar" rendered="#{not empty solicitacaoImpressaoBean.solicitacoesImpressao}">
<rich:column style="text-align:left;width:50px;">
<f:facet name="header">
<a4j:commandLink value="Código" render="@this" />
</f:facet>
<h:outputText value="#{peg.codigo}" />
</rich:column>
<rich:column style="text-align:left;width:655px;">
<f:facet name="header">
<a4j:commandLink value="Solicitação" render="@this" />
</f:facet>
<h:outputText value="Ano: " styleClass="nomeCampo" />
<h:outputText value="#{peg.anoPrevisao}" />
<br></br>
<h:outputText value="Pesquisa: " styleClass="nomeCampo" />
<h:outputText value="#{peg.pesquisa.descricao}" />
<br></br>
<h:outputText value="Título: " styleClass="nomeCampo" />
<h:outputText value="#{peg.titulo.descricao}" />
<br></br>
<h:outputText value="Categoria: " styleClass="nomeCampo" />
<h:outputText value="#{peg.categoria.descricao}" />
<br></br>
<h:outputText value="Unidade: " styleClass="nomeCampo" />
<h:outputText value="#{peg.setor.codigo} - #{peg.setor.nomeSetor}" />
<br></br>
<h:outputText value="Tiragem: " styleClass="nomeCampo" />
<h:outputText value="#{peg.tiragem}" />
<br></br>
<h:outputText value="Valor Unitário do item:" styleClass="nomeCampo" />
<h:outputText value="#{peg.valorUnitario}" >
<f:convertNumber currencySymbol="R$" minFractionDigits="2" type="currency"/>
<!-- //Você define qual o simbolo da moeda e quantas casas decimais vão ter. -->
</h:outputText>
<br></br>
<h:outputText value="Observação Arquivo: " styleClass="nomeCampo" />
<h:outputText value="#{peg.observacaoArquivos}" />
<br></br>
<h:outputText value="Observação Lista Entrega: " styleClass="nomeCampo" />
<h:outputText value="#{peg.obsListaEntrega}" />
<h:outputText value="#{peg.status}" converter="statusImpressaoEnumConverter" />
<br></br>
</rich:column>
<rich:column style="text-align:center;width:70px;">
<f:facet name="header">Ação</f:facet>
<a4j:commandLink action="#{solicitacaoImpressaoBean.abrirConsulta(peg.codigo)}" render="@form">
<h:graphicImage value="resources/img/lupa.png" styleClass="espacoBotao" />
<rich:tooltip layout="block" followMouse="true" value="Consultar Peg #{peg.pesquisa.descricao}" />
</a4j:commandLink>
<a4j:commandLink action="#{solicitacaoImpressaoBean.abrirEdicao(peg.codigo)}" render="@form"
rendered="#{peg.status.descricao != 'Cancelado'}">
<h:graphicImage value="resources/img/editar.png" styleClass="espacoBotao" />
<rich:tooltip layout="block" followMouse="true" value="Editar Peg #{peg.pesquisa.descricao}" />
</a4j:commandLink>
<a4j:commandLink action="#{solicitacaoImpressaoBean.abrirPopupCancelarSolicitacao(peg.codigo)}" rendered="#{peg.status.descricao != 'Cancelado'}" render="@form" >
<h:graphicImage value="resources/img/cancelar.jpg" alt="Cancelar Solicitação" styleClass="espacoBotao" />
<rich:tooltip layout="block" followMouse="false" value="Cancelar Solicitação"/>
</a4j:commandLink>
</rich:column>
<f:facet name="footer">
<rich:dataScroller execute="@form" fastStep="15" />
</f:facet>
</rich:dataTable>
StackTrace
Caused by: java.lang.ClassCastException: com.sun.faces.facelets.el.TagMethodExpression cannot be cast to [Ljava.lang.Object;
at javax.faces.component.AttachedObjectListHolder.restoreState(AttachedObjectListHolder.java:148)
at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1612)
at javax.faces.component.UIOutput.restoreState(UIOutput.java:286)
at javax.faces.component.UIInput.restoreState(UIInput.java:1420)
at com.sun.faces.application.view.FaceletPartialStateManagementStrategy$2.visit(FaceletPartialStateManagementStrategy.java:379)
... 43 more