[
https://jira.jboss.org/jira/browse/JBSEAM-2854?page=com.atlassian.jira.pl...
]
Eddie Lewis commented on JBSEAM-2854:
-------------------------------------
Quick update
I tried propagating the pageflow from the parent to the nested conversation
ConversationInterceptor.java
private void beginConversation(boolean nested, String pageflowName) {
if (!Manager.instance().isLongRunningOrNestedConversation()) {
Manager.instance().beginConversation();
beginNavigation(pageflowName);
} else if (nested) {
// get pageflow from the current conversation
Pageflow ppf = (Pageflow) Component.getInstance(Pageflow.class,
ScopeType.CONVERSATION);
// create the nested conversation
Manager.instance().beginNestedConversation();
// if starting a new conversation and a pageflow attribute was specified then use it
if (!pageflowName.equals("")) {
beginNavigation(pageflowName);
} else {
// set the pageflow from the parent into the current context - will remove on end
conversation
if (ppf != null) {
Contexts.getConversationContext().set(Component.getComponentName(Pageflow.class),
ppf);
}
}
}
}
This worked and the pageflow continued successfully within the context of the nested
conversation
Just could not get the pageflow to continue from the parent when the nested conversation
was destroyed
in the method endConversation - added
Pageflow ppf = (Pageflow) Component.getInstance(Pageflow.class,
ScopeType.CONVERSATION);
Contexts.getConversationContext().set(Component.getComponentName(Pageflow.class),
null);
Manager.instance().endConversation(beforeRedirect);
if(ppf!=null) {
Contexts.getConversationContext().set(Component.getComponentName(Pageflow.class),
ppf);
}
also tried getting the parent conversation from the ConversationEntries instance and then
calling a redirect() or select() but still no luck.
Provide a way to nest pageflows
-------------------------------
Key: JBSEAM-2854
URL:
https://jira.jboss.org/jira/browse/JBSEAM-2854
Project: Seam
Issue Type: Feature Request
Components: BPM, Core, JSF Controls
Affects Versions: 2.0.1.GA
Environment: All
Reporter: Marcell Barbacena
The current behaviour of pageflow subprocess tag is to include the pageflow definition in
the the current flow, meaning that the parent pageflow is paused until the included
pageflow ends.
However, sometimes it is desired that the parent pageflow do not "pause" and
that the included gain its own flow.
The semantics of this nested pageflow is:
- when starts: provided a nested conversation from the parent pageflow.
- when ends: go back do the state before the nesting. If the parent pageflow is not
associated in any way to the nested, its flow goes without interfering with the nested.
E.g.:
Parent directed graph: startpage1->page1; page1->page2; page1->nested;
nested->page2; page2->page3; page3->endpage1;
Nested graph: startpage2->page5; page5->page6; page6->endpage2
Then we can have:
parent: startpage1->page1;
parent: page1->nested;
nested: startpage2->page5;
nested: page5->page6;
parent: page1->page2;
parent: page2>page3;
nested: page6->endpage2
nested:endpage2->page2;
parent: page3->endpage1;
nested: page2>page3;
nested: page3->endpage1;
See that the nested pageflow gains his own flow, i.e. independent of the parent.
--
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