[jboss-cvs] jboss-seam/src/main/org/jboss/seam/pageflow ...
Gavin King
gavin.king at jboss.com
Fri Nov 10 21:23:17 EST 2006
User: gavin
Date: 06/11/10 21:23:17
Modified: src/main/org/jboss/seam/pageflow Page.java
Log:
JBSEAM-392 and JBSEAM-199
Revision Changes Path
1.6 +32 -26 jboss-seam/src/main/org/jboss/seam/pageflow/Page.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Page.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/pageflow/Page.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Page.java 31 Oct 2006 20:09:22 -0000 1.5
+++ Page.java 11 Nov 2006 02:23:17 -0000 1.6
@@ -26,7 +26,9 @@
private String viewId;
private boolean isConversationEnd = false;
+ private boolean isTaskEnd = false;
private String transition;
+ private String processToCreate;
private boolean redirect;
private String description;
private Integer timeout;
@@ -44,11 +46,17 @@
noConversationViewId = pageElement.attributeValue("no-conversation-view-id");
backEnabled = "enabled".equals( pageElement.attributeValue("back") );
switchEnabled = !"disabled".equals( pageElement.attributeValue("switch") );
- Element conversationEndElement = pageElement.element("end-conversation");
- if (conversationEndElement!=null)
+ Element endConversationElement = pageElement.element("end-conversation");
+ if ( endConversationElement!=null )
{
isConversationEnd = true;
- transition = conversationEndElement.attributeValue("transition");
+ processToCreate = endConversationElement.attributeValue("create-process");
+ }
+ Element endTaskElement = pageElement.element("end-task");
+ if (endTaskElement!=null)
+ {
+ isTaskEnd = true;
+ transition = endTaskElement.attributeValue("transition");
}
redirect = "true".equals( pageElement.attributeValue("redirect") );
if ( pageElement.element("redirect")!=null )
@@ -73,30 +81,18 @@
@Override
public void execute(ExecutionContext executionContext)
{
- if (isConversationEnd) {
-
- org.jbpm.taskmgmt.exe.TaskInstance task = TaskInstance.instance();
- if ( task != null )
- {
-
- if ( transition==null || "".equals(transition) )
+ if ( isConversationEnd && processToCreate!=null )
{
- transition = Transition.instance().getName();
+ BusinessProcess.instance().createProcess(processToCreate);
}
- if ( transition == null )
+ if ( isTaskEnd )
{
- task.end();
- }
- else
- {
- task.end(transition);
- }
-
- BusinessProcess.instance().setTaskId(null);
-
+ BusinessProcess.instance().endTask(transition);
}
+ if (isConversationEnd || isTaskEnd )
+ {
Manager.instance().endConversation(false);
}
}
@@ -148,4 +144,14 @@
{
return noConversationViewId;
}
+
+ protected boolean isTaskEnd()
+ {
+ return isTaskEnd;
+ }
+
+ protected String getProcessToCreate()
+ {
+ return processToCreate;
+ }
}
More information about the jboss-cvs-commits
mailing list