Olá pessoal.
Estou trabalhando em um módulo de meu projeto, onde ocorre o seguinte problema:
Estou querendo popular um <h:dataTable></h:dataTable> em minha view JSF, onde seleciono um dado de um lista já persistida em meu Entity Bean Assunto.java, e como tenho um contexto de conversação, tenho acesso ao action Listener public void armarzenarDSI().
Ao clicar em cadastre-se, o novo usuário insere os seu dados pessoais e seleciona em um menu os assunto nas quais ele quer receber informações via e-mail. Selecionando um assunto qualquer em uma lista, ao clicar no botão inserir, ele popula uma lista de assutos List assuntos que é um atributo de DSI.java. Segue abaixo trecho do código que eu implementei.
Código no JSF dsi_edit.xhtml
Seleciona assunto em um lista:
<h:selectOneMenu id=“assuntosMenu” value="#{assuntoCategoriaManager.assunto}">
<h:selectItem id="assuntoItem" value="#{assunto.nome} rendered="#{dsi.nome}"/>
</h:selectOneMenu>
<h:commandButton id=“assunto” value=“Inserir” action="#{usuarioManager.armazenarDSI(dsi.nome)}"/>
…
Segue o código do método que está no Managed Bean UsuarioManager.java
public void armazenarDSI(Assunto assunto){
//Set uma instância de Assunto passado pelo parâmetro do método
dsi.setAssunto(assunto)
//Se a lista de Assuntos de DSI for nula, então
if(dsi.getAssuntos() == null){
//Cria uma nova lista
dsi.setAssuntos(new ArrayList<Assuntos>());
}
//Adiciona um assunto a List<Assunto> assuntos da classe DSI.java
dsi.getAssuntos().add(assunto);
}//fim do metodo
Tudo segue bem até aqui, não ocorre um exception por passar um valor, o que acontece é que ao clicar no botão inserir da view dsi_edit.xhtml, me imprime uma mensagem que traduzindo me diz que o tipo assunto da classe entity Assunto não pode ser convertido para um tipo da classe java.lang.Boolean.
Esse meu projeto utiliza JSF, JBoss Seam e server JBoss AS 5.0.1 GA
Alguém já pegou esse erro e como faço para resolver.
Qualquer ajuda é válida
Grato.
Marcelo
…