<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JBPM-2537
</h3>
<span style="margin-bottom: 10px;">
reply from <a href="http://community.jboss.org/people/rebody">HuiSheng Xu</a> in <i>jBPM Development</i> - <a href="http://community.jboss.org/message/541219#541219">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi Maciej,</p><p>  The patch run perfectly.  There are still something we should review.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>  1.Should we modify TaskImpl.isComplete(), let this method fit additional states: 'timeout' and 'cancelled'.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>     Now the isComplete() is like this:</p><pre class="jive-pre"><code class="jive-code jive-java"><font color="navy"><b>public</b></font> <font color="navy"><b>boolean</b></font> isCompleted() <font color="navy">{</font>
    <font color="navy"><b>if</b></font> (Task.STATE_COMPLETED.equals(state)) <font color="navy">{</font>
      <font color="navy"><b>return</b></font> <font color="navy"><b>true</b></font>;
    <font color="navy">}</font>
    <font color="navy"><b>if</b></font> ((Task.STATE_OPEN.equals(state)) || (Task.STATE_SUSPENDED.equals(state))) <font color="navy">{</font>
      <font color="navy"><b>return</b></font> <font color="navy"><b>false</b></font>;
    <font color="navy">}</font>
    <font color="navy"><b>return</b></font> <font color="navy"><b>true</b></font>;
  <font color="navy">}</font>
</code></pre><p>    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?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>  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?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>  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:</p><pre class="jive-pre"><code class="jive-code jive-xml"><span class="jive-xml-tag"><task-lifecycle initial="open"></span>
  <span class="jive-xml-tag"><state name="open"></span>
    <span class="jive-xml-tag"><transition name="complete" to="completed" /></span>
    <span class="jive-xml-tag"><transition name="suspend" to="suspended" /></span>
    <span class="jive-xml-tag"><transition name="cancel" to="cancelled" /></span>
  <span class="jive-xml-tag"></state></span>
  <span class="jive-xml-tag"><state name="suspended"></span>
    <span class="jive-xml-tag"><transition name="resume" to="open" /></span>
    <span class="jive-xml-tag"><transition name="cancel" to="cancelled" /></span>
  <span class="jive-xml-tag"></state></span>
  <span class="jive-xml-tag"><state name="cancelled" /></span>
  <span class="jive-xml-tag"><state name="completed" /></span>
<span class="jive-xml-tag"></task-lifecycle></span>
</code></pre></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/541219#541219">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2035">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>