[ 
https://jira.jboss.org/browse/RF-9444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jay Balunas updated RF-9444:
----------------------------

    Fix Version/s: Future_3.X


> ExtendedDataTable allows only EL expressions for property selection
> -------------------------------------------------------------------
>
>                 Key: RF-9444
>                 URL: https://jira.jboss.org/browse/RF-9444
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-ScrollableDataTable
>    Affects Versions: 3.3.3.Final
>         Environment: Windows 2003 server
> Apache Tomcat 6.0.26 Server 
> Java 1.5
> Richfaces 3.3.3 final
> Java jre1.5.0_12 (I've tested with jre6 update 21 too)
>            Reporter: Eloweyn G
>             Fix For: Future_3.X
>
>         Attachments: MantGestSE.zip, MantGestSEHib.zip
>
>
> I start the aplication (I have tested on two different Windows 2003 servers, 
> tomcat 6.0.26 server and 2 different jre (jre1.5.0_12 and jre6 update 21). 
> And in all cases, I get this error:
> org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la 
> página JSP /pages/index.jsp en línea 37
> 34:                           
> 35:                   <br>
> 36:                           <div align="center">
> 37:                                   <rich:extendedDataTable
> 38:                                           value="#{mantGestBean.lGest}" 
> var="listaGestVar" id="table"
> 39:                                           
> sortMode="#{mantGestBean.sortMode}"
> 40:                                           
> selectionMode="#{mantGestBean.selectionMode}"
> Stacktrace:
>       
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
>       
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
>       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       
> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
>       
> com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
>       
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
>       
> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>       
> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
>       
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
>       com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>       com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>       javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
>       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
>       org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>       org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>       
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>       
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
>       
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
>       org.apache.jsp.index_jsp._jspService(index_jsp.java:58)
>       org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> causa raíz 
> java.lang.IllegalArgumentException: Component org.richfaces.ExtendedDataTable 
> with Id table allows only EL expressions for property selection
>       
> org.richfaces.taglib.ExtendedDataTableTag.setProperties(ExtendedDataTableTag.java:1464)
>       
> javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:230)
>       
> javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:486)
>       
> javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:670)
>       
> javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1142)
>       
> org.apache.jsp.pages.index_jsp._jspx_meth_rich_005fextendedDataTable_005f0(index_jsp.java:302)
>       
> org.apache.jsp.pages.index_jsp._jspx_meth_a4j_005fform_005f0(index_jsp.java:241)
>       
> org.apache.jsp.pages.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:165)
>       org.apache.jsp.pages.index_jsp._jspService(index_jsp.java:125)
>       org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       
> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
>       
> com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:468)
>       
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
>       
> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>       
> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
>       
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
>       com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>       com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>       javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
>       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:530)
>       org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
>       org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
>       
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
>       org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
>       
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:706)
>       
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:677)
>       org.apache.jsp.index_jsp._jspService(index_jsp.java:58)
>       org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>       org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
>       org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> Here you have my index.jsp
> <%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h" %>
> <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f"%>
> <%@ taglib uri="http://richfaces.org/rich"; prefix="rich"%>
> <%@ taglib uri="http://richfaces.org/a4j"; prefix="a4j"%>
> <html>
>     <head>
>         <title>MG</title>
>               <link href="css/MG.css" rel="stylesheet" type="text/css" />
>     </head>
>     <body>
>         <f:view>
>               <a4j:form style="width:90%;align:center">
>                               <table style="width: 100%;" border="0">
>                                       <col /> <col /> 
>                                       <tbody>
>                                               <tr>
>                                                       <td><img alt="AXA" 
> src="img/logo_axa_2.gif" /></td>
>                                                       <td style="text-align: 
> right; margin-left: auto; margin-right: 0pt;">
>                                                               <span 
> style="font-family: Arial,Helvetica,sans-serif;">
>                                                               <span 
> style="font-size: 8pt;">SE0200</span></span>
>                                                       </td>
>                                               </tr>
>                                       </tbody>
>                               </table>
>                               <h1>Siniestros Extranjeros - Mantenimiento de 
> gestores</h1>
>                               <p>A continuación se muestra la lista de 
> gestores de Siniestros Extranjeros.
>                                       Por favor, marque los gestores 
> presentes y pulse <em>Aceptar</em> para 
>                                       confirmar los cambios. Si no desea 
> grabar ningún cambio o si ya ha terminado y
>                                       desea finalizar, pulse 
> <em>Cancelar</em> para cerrar esta ventana.
>                               </p>
>                               
>                       <br>
>                               <div align="center">
>                                       <rich:extendedDataTable
>                                               value="#{mantGestBean.lGest}" 
> var="listaGestVar" id="table"
>                                               
> sortMode="#{mantGestBean.sortMode}"
>                                               
> selectionMode="#{mantGestBean.selectionMode}"
>                                               
> selection="#{mantGestBean.selection}" align="center" height="200px" 
>                                               width="50%">
>                       
>                                               <rich:column sortable="true" 
> label="Usuario"
>                                                       
> filterBy="#{listaGestVar.nombre}" filterEvent="onkeyup"
>                                                       
> sortBy="#{listaGestVar.nombre}" width="85%">
>                       
>                                                       <f:facet name="header">
>                                                               <h:outputText 
> value="Usuario" />
>                                                       </f:facet>
>                                                       <h:outputText 
> value="#{listaGestVar.nombre}" />
>                       
>                       
>                                               </rich:column>
>                       
>                                               <rich:column label="Presente" 
> width="15%">
>                                                       <f:facet name="header">
>                                                               <h:outputText 
> value="Presente" />
>                                                       </f:facet>
>                                                       
> <h:selectBooleanCheckbox id="checkEntry"
>                                                               
> value="#{listaGestVar.presente}" />
>                                               </rich:column>
>                                       </rich:extendedDataTable> 
>                                       <h:panelGrid columns="2" 
> style="align:right">
>                                               <a4j:commandButton 
> value="Aceptar" style="align:right"
>                                                       
> action="#{mantGestBean.update}"
>                                                       
> oncomplete="Richfaces.showModalPanel('Panel')" reRender="panel" />
>                                               <a4j:commandButton 
> value="Cancelar" onclick="window.close()"
>                                                       style="align:right" />
>                                       </h:panelGrid>
>                               </div>
>                               <p>
>                       <span class="a_link" 
> onclick="Richfaces.showModalPanel('PanelActualizaGest')">Actualizar lista 
> gestores. </span> Actualiza la lista de gestores. 
>                          Incorpora a la lista de gestores, marcándolos como 
> presentes, 
>                          todos los usuarios que se hayan añadido al grupo de 
> gestores de apertura. 
>                          Elimina usuarios que se hayan quitado del grupo de 
> gestores de apertura y 
>                          redistribuye sus tareas entre los restantes gestores 
> que están presentes.</p>
>                       </a4j:form>
>       
>                       <rich:modalPanel id="panel" width="350" height="75">
>                               <f:facet name="header">
>                                       <h:panelGroup>
>                                               <h:outputText 
> value="Información"></h:outputText>
>                                       </h:panelGroup>
>                               </f:facet>
>                               <f:facet name="controls">
>                                       <h:panelGroup>
>                                               <h:graphicImage 
> value="/img/close.png"
>                                                       styleClass="hidelink" 
> id="hidelink" />
>                                               <rich:componentControl 
> for="panel" attachTo="hidelink"
>                                                       operation="hide" 
> event="onclick" />
>                                       </h:panelGroup>
>                               </f:facet>
>                               <h:outputText
>                                       
> value="#{mantGestBean.sMensaje}"></h:outputText>
>                       </rich:modalPanel>
>                       
>                       <rich:modalPanel id="panelActualizaGest" width="400" 
> height="100">
>                               <f:facet name="header">
>                                       <h:panelGroup>
>                                               <h:outputText 
> value="Atención"></h:outputText>
>                                       </h:panelGroup>
>                               </f:facet>
>                               <f:facet name="controls">
>                                       <h:panelGroup>
>                                                <h:graphicImage 
> value="/img/close.png" style="cursor:pointer" 
> onclick="Richfaces.hideModalPanel('panelActualizaGest')" />
>                                       </h:panelGroup>
>                               </f:facet>
>                               <h:outputText
>                                       value="Se va a proceder a la 
> actualización de la lista de gestores. Desea continuar?"></h:outputText>
>                                <a4j:form>
>                                       <table style="width: 100%;">
>                                               <tr>
>                                               <td >
>                                               <div align="center" >
>                                                       <a4j:commandButton 
> value="   Sí   " action="#{cargaBean.actualizarGestores}" 
> onclick="Richfaces.hideModalPanel('panelActualizaGest')" 
> oncomplete='window.location=\"./pages/carga.jsf\"' />
>                                                       &nbsp;
>                                                       <a4j:commandButton 
> value="   No   " onclick="Richfaces.hideModalPanel('panelActualizaGest')" />
>                                               </div>
>                                               </td>
>                                               </tr>
>                                       </table>
>                                       
>                                </a4j:form>
>                                       
>                       </rich:modalPanel>
>               
>               </f:view>
>                   
>                       
>     </body> 
> </html>
> and this is the MantGestBean class:
> package es.axa.mgSE.beans;
> import java.util.ArrayList;
> import java.util.List;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> import org.richfaces.model.selection.SimpleSelection;
> import es.axa.SE.filenet.tasks.TaskSEManager;
> import es.axa.mgSE.hibernate.HibernateUtil;
> import es.axa.mgSE.objects.Gestor;
> import es.axa.mgSE.objects.ListaGestores;
> public class MantGestBean {
>       private List <Gestor> lGest;
>       private String sortMode="single";
>       private String selectionMode="multi";
>       private SimpleSelection selection = new SimpleSelection();
>       private String sMensaje="";
>       private static final Log log = LogFactory.getLog(MantGestBean.class);
>       
>       public List <Gestor> getlGest() throws Exception {
>               try {
>                       ListaGestores lgestObj=new ListaGestores();
>                       lGest=lgestObj.getListGestores();
>                       HibernateUtil.closeSession();
>                       return lGest;
>                       
>               }catch (Exception e){
>                       HibernateUtil.closeSession();
>                       throw e;
>               }
>               
>       }
>       public void setlGest(List <Gestor> lGest) {
>               this.lGest = lGest;
>       }
>       public String getSortMode() {
>               return sortMode;
>       }
>       public void setSortMode(String sortMode) {
>               this.sortMode = sortMode;
>       }
>       public String getSelectionMode() {
>               return selectionMode;
>       }
>       public void setSelectionMode(String selectionMode) {
>               this.selectionMode = selectionMode;
>       }
>       public SimpleSelection getSelection() {
>               return selection;
>       }
>       
>       public void setSelection(SimpleSelection selection) {
>               this.selection = selection;
>       }
>       
>       public void takeSelection(){
>               System.out.println("Selección");
>       }
>       
>       public String getsMensaje() {
>               return sMensaje;
>       }
>       public void setsMensaje(String sMensaje) {
>               this.sMensaje = sMensaje;
>       }
>       public void update()throws Exception {
>               try{
>                       if (!lGest.isEmpty()) {
>                               log.debug("update - Iniciando update");
>                               
>                               ListaGestores lgestObj=new ListaGestores();
>                               
>                               // Obtener la lista tal y como está antes de 
> actualizar
>                               List<Gestor> listaOldGest = 
> lgestObj.getListGestores();
>                               
>                               // Actualizamos la lista con los valores 
> introducidos por el usuario
>                               lgestObj.updateListGestores(lGest);
>                               
>                               // Construir la lista de gestores que pasan de 
> activo a inactivo
>                               List<Gestor> gestCambiados = new 
> ArrayList<Gestor>();
>                               for( int i = 0; i < listaOldGest.size(); i++) {
>                                       if (!lGest.get(i).isPresente() && 
> listaOldGest.get(i).isPresente()) {
>                                               gestCambiados.add(lGest.get(i));
>                                       }
>                               }
>                               
>                               //Ahora tenemos que pasar las tareas activas de 
> los usuarios cambiados
>                               //a otros usuarios que estén presentes
>                               if (!gestCambiados.isEmpty()){
>                                       TaskSEManager taskManager=new 
> TaskSEManager();
>                                       
> taskManager.traspasoTareasActivas(gestCambiados);
>                               }
>                                       
>                               
>                               this.setsMensaje("La base de datos se ha 
> actualizado correctamente");
>                               log.debug("update - Finalizando update");
>                       }else {
>                               this.setsMensaje("No hay ningún elemento en la 
> tabla");
>                       }
>                       
>               }catch (Exception e){
>                       throw e;
>               }finally {
>                       HibernateUtil.closeSession();
>               }
>       }
>       
> }
> thank you very much

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to