Community

JBPM-2537

reply from HuiSheng Xu in jBPM Development - View the full discussion

Hi Maciej,

  The patch run perfectly.  There are still something we should review.

 

  1.Should we modify TaskImpl.isComplete(), let this method fit additional states: 'timeout' and 'cancelled'.

 

     Now the isComplete() is like this:

public boolean isCompleted() {
    if (Task.STATE_COMPLETED.equals(state)) {
      return true;
    }
    if ((Task.STATE_OPEN.equals(state)) || (Task.STATE_SUSPENDED.equals(state))) {
      return false;
    }
    return true;
  }

    We should add more information in here.  And the state constaints is defined in Task interface.  So should we move STATE_TIMEOUT and STATE_CANCELLED from HistoryTask to Task?

 

  2. The content of TaskTimeout.java and TaskCancel.java is exactly the same.  The only difference of them is the completion state,  so should we make a abstract class, e.g. AbstractTaskCancel,  and let them inherit the superclass?

 

  3. I notice that there is a jbpm.task.lifecycle.xml configution file in the classpath since jBPM-4.0.0-Alpha2,  and it contains the prossible states of task.  Should we modify it as well? or this configuration file is useless and should be removed in the future version?  The content of this file like below:

<task-lifecycle initial="open">
  <state name="open">
    <transition name="complete" to="completed" />
    <transition name="suspend" to="suspended" />
    <transition name="cancel" to="cancelled" />
  </state>
  <state name="suspended">
    <transition name="resume" to="open" />
    <transition name="cancel" to="cancelled" />
  </state>
  <state name="cancelled" />
  <state name="completed" />
</task-lifecycle>

Reply to this message by going to Community

Start a new discussion in jBPM Development at Community