[JBoss JIRA] (RF-13705) Clearify the relation between leaf and nodes attribute of rich:treeModelAdaptor
by Kalle Richter (JIRA)
Kalle Richter created RF-13705:
----------------------------------
Summary: Clearify the relation between leaf and nodes attribute of rich:treeModelAdaptor
Key: RF-13705
URL: https://issues.jboss.org/browse/RF-13705
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: doc
Affects Versions: 4.3.7
Reporter: Kalle Richter
The javadoc states that both attributes are responsible for determining leafs, but there's no statement about what happens if they're both specified and - if it is possible to specify both - which takes precedence.
It is currently not possible to get started with rich:tree due to missing demos (see https://issues.jboss.org/browse/RF-13050), so I consider this rather important.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (RF-13050) Showcase - not all demos have references for beans which are used in them
by Kalle Richter (JIRA)
[ https://issues.jboss.org/browse/RF-13050?page=com.atlassian.jira.plugin.s... ]
Kalle Richter commented on RF-13050:
------------------------------------
Affects version 4.3.7 as well (strange that I can't add this in the metadata).
> Showcase - not all demos have references for beans which are used in them
> -------------------------------------------------------------------------
>
> Key: RF-13050
> URL: https://issues.jboss.org/browse/RF-13050
> Project: RichFaces
> Issue Type: Enhancement
> Security Level: Public(Everyone can see)
> Components: showcase
> Affects Versions: 5.0.0.Alpha1
> Reporter: Juraj Húska
> Fix For: 5-Tracking
>
>
> There are some demos in showcase which do not have references for the beans source code, which are used in them.
> Each contains the facelet source code, but the beans are missing.
> It is so for example in demos:
> * extended data table - basic usage
> * collapsible subtable
> * data scroller
> and others. I will update the list once you indicate that we are going to fix this.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (RF-11093) UIDataAdaptor context variable backup broken (reentrance problem)
by Yannick Valot (JIRA)
[ https://issues.jboss.org/browse/RF-11093?page=com.atlassian.jira.plugin.s... ]
Yannick Valot commented on RF-11093:
------------------------------------
Hello, we've been using this patch in production for quite some time now.
Please tell me how I can help include this patch, or if there is any reason why you would not want to include it.
> UIDataAdaptor context variable backup broken (reentrance problem)
> -----------------------------------------------------------------
>
> Key: RF-11093
> URL: https://issues.jboss.org/browse/RF-11093
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tables
> Affects Versions: 4.0.0.Final
> Environment: Windows XP, Java 6, Tomcat 6.0.24, Mojarra 2.0.2.
> Reporter: Yannick Valot
> Fix For: 5-Future
>
> Attachments: UIDataAdaptor.java.patch
>
>
> I am encountering a reentrance problem with org.richfaces.component.UIDataAdaptor (using it as a dataTable).
> I need to perform a visit of the component tree while executing an action on a command link in one row of the same table.
> <rich:dataTable value="#{listOfItems}" var="myItem" >
> ... some stuff here ...
> <commandLink here>
> ... some stuff here ...
> </rich:dataTable>
> After the action on the command link has visited the component tree, myItem is no longer available in context.
> When the UIDataAdaptor sets or resets the "myItem" context variable, it backs up any previous value by calling captureOrigValue(FacesContext), and later restores it by calling restoreOrigValue(FacesContext), but it looks as if the visit backs the variable up twice (in a nested fashion), and it erases myItem between the two backups :
> - backup variable (old value is correctly backed up) (in visitTree(VisitContext visitContext, VisitCallback callback))
> - erase variable (setRowKey(facesContext, null) in same function)
> - erase variable (doVisitChildren(VisitContext context, boolean visitRows))
> - erase variable (visitTree(VisitContext visitContext, VisitCallback callback))
> - backup variable (erases backed up value) (walk(FacesContext faces, DataVisitor visitor, Object argument))
> - ...
> - restore value (restores null) (walk(FacesContext faces, DataVisitor visitor, Object argument))
> - restore value (restores null) (in visitTree(VisitContext visitContext, VisitCallback callback))
> etc.
> The problem can be solved by *stacking* backed up variables, instead of storing them in a simple attribute, to allow for any kind of reentrance.
> (I do not say that this is the best possible patch, but it has solved the problem for me).
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (RF-13703) Nested UIDataAdaptor restoring stale data because of reentrancy problem
by Yannick Valot (JIRA)
Yannick Valot created RF-13703:
----------------------------------
Summary: Nested UIDataAdaptor restoring stale data because of reentrancy problem
Key: RF-13703
URL: https://issues.jboss.org/browse/RF-13703
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.3.1
Environment: (Windows 7. Java 6. Jetty 7.6.9 or Tomcat 6.0.37)
Reporter: Yannick Valot
I am encountering a reentrancy problem with nested UIDataAdaptor components. For instance something like :
<rich:dataTable id="outer" ...>
<rich:dataTable id="inner" ...>
<h:inputText id="myText" ...>
</rich:dataTable>
</rich:dataTable>
When a view contains nested UIDataAdaptor components, each UIDataAdaptor component has its own internal store for saving the saved state of child components (saveChildState/restoreChildState). Since "inputText" is included in both tables, each one may save and restore the value of the component in its internal store.
For instance, when "outer" is on key 0 and inner is on key "2", both "outer" and "inner" may store the state values for myText "outer:0:inner:2:myText" in their "childState" property.
I guess that most of the time, only "inner" will actually store useful values, because most of calls on "setRowKey" for outer will be done when "inner" has its rowkey set to null. Unfortunately, this is not always the case.
For instance, if I decide to visit the component tree while processing an event for "myText", outer will perform a setRowKey while inner has its own rowKey to a significant value (for instance, 2), the result being that inner's value will be erased by
outer's.
To try and explain with a little more detail... Let's say that we are processing an event on "outer:1:inner:0:myText", and we start a (nested) visit of the tree :
1) "outer" will at some point perform a setRowKey(0)
2) It will then do a restoreChildState for myText. since "inner" has rowKey set to 0, it will restore "outer's" value for "outer:0:inner:0:myText".
3) A bit later on during the visit, inner will do "setRowKey(0)". It will first save the current value for "outer:0:inner:0:myText" (which comes from outer's backup of it, restored on step 2)
The result of this process is that "outer"'s backup of "outer:0:inner:0:myText" overwrites "inner"'s backup for it. This is problematic because this leads, sometimes, to an old and obsolete backup
of state taking place of the current value. This may happen several HTTP requests later.
I've found a solution for this problem by not storing the saved state in the UIDataAdaptor, but in the target component itself. In this manner, there can only be one backup of the data. Such a modification is actually hinted at in UIDataAdaptor's source code : "// TODO - use local map - children save their state themselves using visitors", although my modification is simpler
(it's still UIDataAdaptor that saves the state, in the same manner, only in a different place).
This bug is quite complex and extracting a testcase will take some time, but I am willing to do so if requested. I can also offer my patch for the problem once I have finalized it.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months
[JBoss JIRA] (RF-13700) Charts Mobile Showcase demo - bars are overlapping
by Juraj Húska (JIRA)
[ https://issues.jboss.org/browse/RF-13700?page=com.atlassian.jira.plugin.s... ]
Juraj Húska updated RF-13700:
-----------------------------
Summary: Charts Mobile Showcase demo - bars are overlapping (was: Charts Mobile Showcase demo on tablets - bars are overlapping)
> Charts Mobile Showcase demo - bars are overlapping
> --------------------------------------------------
>
> Key: RF-13700
> URL: https://issues.jboss.org/browse/RF-13700
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-output
> Affects Versions: 4.5.0.Alpha3, 5.0.0.Alpha3
> Reporter: Juraj Húska
> Attachments: barChartOverlapping.PNG
>
>
> Bars in the showcase chart demo are overlapping. It is probably issue of responsiveness. It is reproducible on Mobile showcase demo, accessing on tablets.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 5 months