[JBoss JIRA] Created: (RF-9444) ExtendedDataTable allows only EL expressions for property selection
by Eloweyn G (JIRA)
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
Reporter: Eloweyn G
Priority: Blocker
when I start the aplication 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\"' />
<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
13 years, 4 months
[JBoss JIRA] Created: (RF-10154) UIDataAdaptor vs. UIData visitTee small difference
by Martin Kočí (JIRA)
UIDataAdaptor vs. UIData visitTee small difference
--------------------------------------------------
Key: RF-10154
URL: https://issues.jboss.org/browse/RF-10154
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-tables
Affects Versions: 4.0.0.Milestone5
Environment: RichFaces 4.0.X trunk, svn rev. 20913
Reporter: Martin Kočí
Priority: Minor
<r:extendedDataTable var="zeile">
<r:column>
<h:outputText rendered="#{fasole.method(zeile)}"
</r:column>
</r:extendedDataTable>
+
org.richfaces.component.UIDataAdaptor.visitTree(VisitContext, VisitCallback) with VisitHint SKIP_UNRENDERED (in render response phase for example)
Problem: org.richfaces.component.UIDataAdaptor.visitDataChildren(VisitContext, VisitCallback, boolean) calls visitComponents(getFacetsAndChildren(), visitContext, callback);-> it will visit h:outputText component and test if is rendered -> #{fasole.method(zeile)} but no row available -> calls fasole.method with null parameter and causes an unexpected NPE
j.f.c.UIData does not visit column chidren for -1 rowIndex (null rowKey in RichFaces), UIData.visitTree JavaDoc says: "Take no action on non-UIColumn children".
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 4 months
[JBoss JIRA] Created: (RF-10173) CDK: Unify Behavior/Converter/Validator attributes generation.
by Alexander Smirnov (JIRA)
CDK: Unify Behavior/Converter/Validator attributes generation.
--------------------------------------------------------------
Key: RF-10173
URL: https://issues.jboss.org/browse/RF-10173
Project: RichFaces
Issue Type: Task
Security Level: Public (Everyone can see)
Components: cdk
Affects Versions: 4.0.0.Milestone5
Reporter: Alexander Smirnov
Assignee: Alexander Smirnov
Fix For: 4.0.0.CR1
Converter uses StateHelper object, but Behavior/Validator generated using plain attributes.
1) Revrite all non-component objects to use StateHelper for attributes.
2) generate setValueExpression/getValueExpression and getStateHelper if necessary.
3) use base class methods if they exits.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 4 months
[JBoss JIRA] Created: (RF-9591) tooltip: showDelay not working.
by Ilya Shaikovsky (JIRA)
tooltip: showDelay not working.
-------------------------------
Key: RF-9591
URL: https://jira.jboss.org/browse/RF-9591
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-output
Reporter: Ilya Shaikovsky
Assignee: Alex Kolonitsky
I see it passed to JS. But tooltip still appears immediatelly for me.
<h:panelGrid columns="2">
<rich:panel id="sample1" styleClass="tooltip-text"
bodyClass="rich-laguna-panel-no-header">
<p>Here you can see <b>default client-side</b> tool-tip</p>
<rich:tooltip id="tt1">
<span style="white-space: nowrap"> This tool-tip content was
<strong>pre-rendered</strong> to the page.<br />
The look of this tool-tip is 100% defined by skin. </span>
</rich:tooltip>
</rich:panel>
<rich:panel id="sample2" styleClass="tooltip-text"
bodyClass="rich-laguna-panel-no-header">
<p>This tool-tip will <b>follow mouse</b>. Also this tool-tip has
a <b>delay 1.5 sec</b>, so be patient!</p>
<rich:tooltip followMouse="true"
showDelay="1500" styleClass="tooltip">
<span style="white-space: nowrap"> This tool-tip content also
<strong>pre-rendered</strong> to the page.<br />
However, the look of this tool-tip is customized<br />
by styleClass attribute. </span>
</rich:tooltip>
</rich:panel>
.....
--
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
13 years, 4 months
[JBoss JIRA] Created: (RF-10585) Action Listener can't be invoked from composite component in MyFaces
by Lukas Fryc (JIRA)
Action Listener can't be invoked from composite component in MyFaces
--------------------------------------------------------------------
Key: RF-10585
URL: https://issues.jboss.org/browse/RF-10585
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-a4j-core
Affects Versions: 4.0.0.CR1
Environment: * RichFaces 4.0.0-SNAPSHOT r.21803
* Metamer 4.0.0-SNAPSHOT r.21859
* Apache MyFaces JSF-2.0 Core Impl 2.0.4
* JBoss AS 6.0.0.Final
* OpenJDK Runtime Environment 1.6.0_20-b20 @Linux
* Firefox 3.6.13 @ Linux x86_64
Reporter: Lukas Fryc
<demo:actionComposite id="invokeFromCCButton" render="messages" value="Invoke listener method in composite component">
<a4j:actionListener for="button" listener="#{a4jActionListenerBean.handleActionMethodComposite}" />
</demo:actionComposite>
<composite:implementation>
<h:commandButton id="button" value="#{cc.attrs.value}">
<composite:insertChildren />
<a4j:ajax render="#{cc.attrs.render}" execute="#{cc.attrs.execute}" />
</h:commandButton>
</composite:implementation>
public void handleActionMethodComposite(ActionEvent event) throws AbortProcessingException {
addFacesMessage("Method expression listener called from composite component");
}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 4 months
[JBoss JIRA] Created: (RF-8261) Add support to automatically scroll to the first field containing an error after user submits a form and validation fails?
by Frank (JIRA)
Add support to automatically scroll to the first field containing an error after user submits a form and validation fails?
--------------------------------------------------------------------------------------------------------------------------
Key: RF-8261
URL: https://jira.jboss.org/jira/browse/RF-8261
Project: RichFaces
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: component
Affects Versions: 3.3.2.SR1
Environment: Richfaces (3.3.2.SR1), Spring webflow (2.0.8), Hibernate Validator (4.0.2), ...........
Reporter: Frank
Hello, here's the context, I have a form which has enough fields to produce vertical scrolling. I'm using Hibernate Validator (4.0.x) to validate my form fields through rich:ajaxValidator. So, has the title says, I would like the page to scroll up 'automatically' to the first validation error of the form, after the user tries to submit the form with the save button (a4j:commandButton), and the form contains one or more errors (coming from JSF Validation phase...).
So, big picture of feature request: On form-submit, if errors, automatic scroll to first form error.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 4 months