[
https://issues.jboss.org/browse/JBSEAM-5122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795707#comment-12795707
]
superanna li commented on JBSEAM-5122:
--------------------------------------
Hi Marek,
Finally, figured out it's em.clear() that causing currentUser value lost. but I
am wondering, even "currentUser" in the session has been detached, but why not
calling @Factory getUser() method again to gain value again? Why just create a
new empty User?
Best regards,
Anna
> @Factory return value lost
> --------------------------
>
> Key: JBSEAM-5122
> URL: https://issues.jboss.org/browse/JBSEAM-5122
> Project: Seam 2
> Issue Type: Bug
> Reporter: superanna li
>
> Dear team,
> In the booking search page, click 'search' button, reRender the bookingList
> in the same page, once click one of the booking for the detail information,
> the currentUser will changed(the currentUser become the newly created user
> with no value). it seems "currentUser" context value has been changed.
> CurrentUserFactory where @Factory is used
> {code}
> @Name(CurrentUserFactory.FACTORY_COMPONENT_NAME)
> @Scope(ScopeType.CONVERSATION)
> public class CurrentUserFactory extends UserHome {
> private static final long serialVersionUID = 1L;
> public static final String COMPONENT_NAME = "currentUser";
> @In(value = ID_COMPONENT_NAME, scope = ScopeType.SESSION, required =
> false)
> @Out(value = ID_COMPONENT_NAME, scope = ScopeType.SESSION, required =
> false)
> private Integer id;
> @Factory(value = COMPONENT_NAME, scope = ScopeType.CONVERSATION,
> autoCreate = true)
> public User getUser() {
> return getInstance();
> }
> ...
> }
> {code}
> SearchAction:
> {code}
> @Name(MyProjectsSearchAction.COMPONENT_NAME)
> @Scope(ScopeType.CONVERSATION)
> @Restrict("#{identity.loggedIn}")
> public class MyProjectsSearchAction implements Serializable {
> private static final long serialVersionUID = 1L;
> public static final String COMPONENT_NAME = "myProjectsSearch";
>
> @In(value = "currentUser", required = true)
> private User currentUser;
> public void find() {
> ....
> }
> }
> {code}
> DetailAction:
> {code}
> @Name(MyProjectsDetailsAction.COMPONENT_NAME)
> @Scope(ScopeType.CONVERSATION)
> @Restrict("#{identity.loggedIn}")
> public class MyProjectsDetailsAction implements Serializable {
> private static final long serialVersionUID = 1153512259556496433L;
> public static final String COMPONENT_NAME = "myProjectsDetails";
> @Begin(join = true)
> public void showDetails() {
> ...
> }
> {code}
> Best regards,
> Anna
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues