Newbie Seam DataModel cannot be cast to ArrayList
demolina79 Jul 30, 2010 3:33 PMI am new to SEAM trying out from a generated app some changes like implement a data selecitonemenu where i can show data from a table in a form,
i am getting the following exception
java.util.ArrayList cannot be cast to javax.faces.model.DataModel
It may be something very basic but i havent found a good example for this, maybe someone can point me out to one. I am reading Seam in Action and Seam Framework from YUAN havent found one example like the one i am trying.
This is my bean
@Name("FuncionesAcciones") public class FuncionesAcciones { @Logger private Log log; @In StatusMessages statusMessages; @In protected EntityManager entityManager = null; @DataModelSelection @Out(required = false) protected Usuarios selectedUser; @DataModel @Out(required = false) protected List<Usuarios> listaUsers = null; public String view() { return "/AccionesEdit.xhtml"; } @Factory("listaUsers") public void listarUsuarios() { List resultList = entityManager.createQuery( "select idUsuarios from Usuarios") .getResultList(); listaUsers = (List<Usuarios>) resultList; // "select idUsuarios,NombreUsuario from Usuarios") } public void funcionesAcciones() { // implement your business logic here log.info("FuncionesAcciones.funcionesAcciones() action called"); statusMessages.add("funcionesAcciones"); } // add additional action methods }
This is the part where i use it in the Facelet
<s:decorate id="usuariosIdUsuariosField" value="#{FuncionesAcciones.selectedUser}" template="layout/edit.xhtml"> <ui:define name="label">Usuario que Identifica Accion</ui:define> <h:selectOneMenu name="usuario" id="usuariosIdUsuarios" required="true" value="Usuarios.nombreUsuario"> <f:selectItems var="_usuario" value ="#{listaUsers}" label="#{_usuario.NombreUsuario}"/> <s:convertEnum/> </h:selectOneMenu> </s:decorate>
Someone can point me out in the right direction , i am new to SEAM somewhat middle experience in JAVA/Hibernate i come from PHP so the learning curve is apparently very hard right now as a beginner.