[richfaces-issues] [JBoss JIRA] Resolved: (RF-10154) UIDataAdaptor vs. UIData visitTee small difference
Nick Belaevski (JIRA)
jira-events at lists.jboss.org
Thu Jan 13 08:48:50 EST 2011
[ https://issues.jboss.org/browse/RF-10154?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nick Belaevski resolved RF-10154.
---------------------------------
Resolution: Cannot Reproduce Bug
@ManagedBean
@SessionScoped
public class Snippet {
public void action() {
FacesContext facesContext = FacesContext.getCurrentInstance();
visitTree(facesContext, facesContext.getViewRoot());
}
public void visitTree(FacesContext facesContext, UIViewRoot uiViewRoot) {
VisitContext visitContext = VisitContext.createVisitContext(facesContext, null, Sets.newHashSet(VisitHint.SKIP_UNRENDERED));
uiViewRoot.visitTree(visitContext, new VisitCallback() {
@Override
public VisitResult visit(VisitContext context, UIComponent target) {
return VisitResult.ACCEPT;
}
});
}
public boolean isRendered() {
Map<String, Object> map = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
Object o = map.get("zeile");
if (o == null) {
throw new NullPointerException();
}
System.out.println(o);
return true;
}
}
<h:form>
<h:commandButton action="#{snippet.action}" value="Visit" />
<rich:extendedDataTable value="#{dataProvider.data}"
var="zeile">
<h:column>
<h:outputText value="#{zeile}" rendered="#{snippet.rendered}" />
</h:column>
</rich:extendedDataTable>
</h:form>
> 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čí
> Assignee: Nick Belaevski
> Priority: Minor
> Fix For: 4.0.0.CR1
>
>
> <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
More information about the richfaces-issues
mailing list