[JBoss JIRA] (RF-12004) rich:dataTable. DataModel data & rowIndex are not synchronized when using breakRowBefore
by Logan MAUZAIZE (JIRA)
Logan MAUZAIZE created RF-12004:
-----------------------------------
Summary: rich:dataTable. DataModel data & rowIndex are not synchronized when using breakRowBefore
Key: RF-12004
URL: https://issues.jboss.org/browse/RF-12004
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component-tables
Affects Versions: 4.1.0.Final
Reporter: Logan MAUZAIZE
Priority: Minor
When activating breakRowBefore, the rowIndex of DataTable is using _physical_ row (TR tag) where as rowData is using _logical_ row.
It causes the following incorrect behaviors (when selecting a valid line) :
_if physical row index is greater than (or equal to) logical row count_
* isRowAvailable() returns false
* getRowData() throws NoRowAvailableException
* Using both getRowIndex() and source data (ie from a backing-bean) causes RowIndexOutOfBoundException
_if physical row index is lower than logical row count and greather than zero_
* getRowData() doesn't return the matching row data
* Using both getRowIndex() and source data (ie from a backing-bean) doesn't return the matching row data
Note: Row filter usage haven't been tested and may cause more unexpected behavior.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (RF-11985) rich:dataTable with MyFaces 2.x.x - Target Unreachable, identifier 'client' resolved to null
by Jean ANDRE (JIRA)
Jean ANDRE created RF-11985:
-------------------------------
Summary: rich:dataTable with MyFaces 2.x.x - Target Unreachable, identifier 'client' resolved to null
Key: RF-11985
URL: https://issues.jboss.org/browse/RF-11985
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.2.0.CR1
Environment: MyFaces 2.0.x and 2.1.6 - RichFaces 4.2.0 CR1 - WAS 8.0.0.1 - Spring 3.0.6 - Hibernate Validator 4.2.0 Final
Reporter: Jean ANDRE
Priority: Critical
We made a test under MyFaces implementation of JSF 2.0 and actually we got an error with the dataTable. At the first call of the web page, the dataTable performs well but once the dataTable is redisplayed, the dataTable is unable to reach an existing variable declared by the attribute var (ex.var="client").
We made also the test by using the h:dataTable, the standard JSF tag and it is working perfectly - As you know we also use Mojarra as JSF implementation and it's working too. Then the problem seems to come from with rich:dataTable. Nothing very special here in using the tag.
{code}
<rich:dataTable id="resultListClient" var="client" value="#{tab.searchResult.data}" rendered="#{not tab.searchResult.isEmpty}" row="30" rowClasses="odd-row, even-row">
<rich:column id="dejaVu" rendered="#{not resultClientController.isEmptyDejaVu()}">
<!-- -->
<!-- DEJA VU -->
<!-- -->
<f:facet name="header">
 
</f:facet>
<h:graphicImage value="/images/checked.png"
rendered="#{resultClientController.isDejaVu(client.id)}"
alt="#{msg['common.dejaVu.alt']}"
title="#{msg['common.dejaVu.tooltip']}" />
</rich:column>
{code}
{code}
javax.faces.FacesException: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable, identifier 'client' resolved to null
at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
at org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.intact.crm.web.filter.LoginFilter.doFilter(LoginFilter.java:56)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:886)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1655)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1650)
Caused by: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable, identifier 'client' resolved to null
at org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:89)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007)
at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:767)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.UIDataAdaptor.visitComponents(UIDataAdaptor.java:1259)
at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1286)
at org.richfaces.component.UIDataTableBase.visitDataChildren(UIDataTableBase.java:359)
at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1360)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:169)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.AbstractTogglePanel.visitTree(AbstractTogglePanel.java:719)
at javax.faces.component.UIForm.visitTree(UIForm.java:269)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
at org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185)
... 29 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (RF-11882) a4j jsFunction cannot transform java class to json in the getData method call
by Dirk Dollar (JIRA)
Dirk Dollar created RF-11882:
--------------------------------
Summary: a4j jsFunction cannot transform java class to json in the getData method call
Key: RF-11882
URL: https://issues.jboss.org/browse/RF-11882
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.1.0.Final
Reporter: Dirk Dollar
I get a
Caused by: java.lang.IllegalAccessException: Class org.ajax4jsf.javascript.PropertyUtils can not access a member of class java.util.HashMap$Entry with modifiers "public final"
Which wasn't there in richfaces 3.3.3
The code snippet:
class MyBean{
public String actionMethod(){
....do something which creates a Map <String,String> data, now I want to sort it before I return it:
private List<Entry<String, String>> sortDataIntoList(Map<String, String> data) {
List<Entry<String, String>> sortedList = new ArrayList<Entry<String, String>>(data.entrySet());
Collections.sort(sortedList, new Comparator<Entry<String, String>>() {
public int compare(Entry<String, String> f1, Entry<String, String> f2) {
return f1.getValue().compareTo(f2.getValue());
}
});
if(sortedList.size()>max)
return sortedList.subList(0, max);
return sortedList;
}
...and return it from...
public static MyInnerClass{
List<Entry<String,String>> data
public MyInnerClass(List<Entry<String,String>> data){
this.data=data
}
public List<Entry<String,String>> getData(){
return data;}
}
}
results in the mentioned error
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months