Problemas com selecao multipla com <p:datatable> Primefaces [RESOLVIDO]

Boa noite pessoal, sou novo no grupo, estou com um problema ao utilizar o datatable do primefaces para selecionar varias linhas com checkbox,
como neste exemplo: http://www.primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf

Abaixo segue o trecho de código do xhtml, onde tenho um datatable que mostra os objetos de roomBean.rooms e seta
os valores selecionados para rooBean.roomSelecteds, logo abaixo tenho um commandButton para testar os valores selecionados no dataTable.

[code]<h:form id=“formulario”>
<p:dataTable id=“rooms” value="#{roomBean.rooms}" var=“room” selection="#{roomBean.roomSelecteds}">
<p:column selectionMode=“multiple” />
<p:column headerText=“Consultorios”>
<h:outputText value="#{room.description}" />
</p:column>
</p:dataTable>

<p:commandButton action="#{roomBean.teste}" value="Enviar" />

</h:form>[/code]

Abaixo segue o trecho do Bean.

[code]@Named
@ViewScoped
public class RoomBean implements Serializable {
private List rooms;
private List roomSelecteds;
.
. getters e setters
.

public void teste() {
	for (Room room : roomSelecteds) { 
		System.out.println(room.getDescription()); 
	}
	
}

}[/code]

Após selecionar as linhas do datatable e clicar no botao, gera esse erro, provavelmente na fase 2 do JSF, APPLY_REQUEST_VALUES.

javax.faces.FacesException at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:86) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:103) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at java.lang.reflect.Array.newArray(Native Method) at java.lang.reflect.Array.newInstance(Unknown Source) at org.primefaces.component.datatable.DataHelper.decodeMultipleSelection(DataHelper.java:281) at org.primefaces.component.datatable.DataHelper.decodeSelection(DataHelper.java:210) at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:47) at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:786) at javax.faces.component.UIData.processDecodes(UIData.java:947) at org.primefaces.component.datatable.DataTable.processDecodes(DataTable.java:602) at javax.faces.component.UIForm.processDecodes(UIForm.java:213) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1038) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1038) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:941) at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) ... 19 more 24/01/2012 17:22:31 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/paineis] threw exception java.lang.NullPointerException at java.io.Writer.write(Unknown Source) at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:194) at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:116) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:117) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:310) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

Alguem poderia me ajudar com esse problema? Alguem ja passou por isso antes?

Desde ja agradeço pela atenção!

O atributo selection do datatable deve indicar um Array, ao invés de uma List.
Por ex : Room [] rooms;

Problema resolvido… obrigado pela atenção, e desculpa pela minha desatenção!

Grato em ajudar;
Marque seu tópico como [Resolvido] :slight_smile: