0 Replies Latest reply on Sep 12, 2007 3:49 AM by Petia Wohed

    Super State

    Petia Wohed Newbie

      Hi,

      I am trying to use the Super State construct in jBPM 3.1.4 and I have problems with it. As I am not able to define the components of a super state in the graphical editor (which only provides support for defining activities for a super state), I am directly editing in the xml definition of the process. I have the following process.

      <?xml version="1.0" encoding="UTF-8"?>
      
      <process-definition
       xmlns="urn:jbpm.org:jpdl-3.1" name="SuperState">
       <swimlane name="ernie">
       <assignment expression="user(ernie)"></assignment>
       </swimlane>
       <start-state name="start">
       <task name="start-task">
       <assignment expression="user(ernie)"></assignment>
       </task>
       <transition name="to phase 1" to="phase1/task1"></transition>
       </start-state>
       <super-state name="phase1">
       <task-node name="start-phase1">
       <task name="task11">
       <assignment expression="user(ernie)"></assignment>
       </task>
       <transition name="a" to="task2"></transition>
       </task-node>
       <task-node name="end-phase1">
       <task name="task12" swimlane="ernie" > </task>
       <transition name="t" to="../task3"></transition>
       </task-node>
       </super-state>
       <task-node name="phase2">
       <task name="task2">
       <assignment expression="user(ernie)"></assignment>
       </task>
       <transition name="to end" to="end"></transition>
       </task-node>
       <end-state name="end"></end-state>
      </process-definition>
      


      I successfully deploy the process and I am able to run it until task11. It gets allocated to the defined user, but when selected for execution the following error message is displayed.

      message
      
      description The server encountered an internal error () that prevented it from fulfilling this request.
      
      exception
      
      javax.servlet.ServletException: Error calling action method of component with id taskform:transitionButton
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
       org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:56)
       org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
       org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
      
      root cause
      
      javax.faces.FacesException: Error calling action method of component with id taskform:transitionButton
       org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
       javax.faces.component.UICommand.broadcast(UICommand.java:106)
       javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
       javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
       org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:271)
       org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
       org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:56)
       org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
       org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
      
      note The full stack trace of the root cause is available in the Apache Tomcat/5.5 logs.
      


      Are Super States supported in jBPM 3.1.4? If yes can you see what is wrong with my process definition?

      Kind regards, Petia