Task status could only go up from the current status.
*/
private void updateGlobalStatus()
{
*/
private void updateGlobalStatus()
{
- JobStatus newStatus = taskStatus;
- int currentPrecedence = ArrayUtils.indexOf(statusPrecedence, newStatus);
for (BaseJob job : jobs)
{
JobStatus status = job.getStatus();
int jobPrecedence = ArrayUtils.indexOf(statusPrecedence, status);
for (BaseJob job : jobs)
{
JobStatus status = job.getStatus();
int jobPrecedence = ArrayUtils.indexOf(statusPrecedence, status);
- if (currentPrecedence < jobPrecedence)
- {
- currentPrecedence = jobPrecedence;
- newStatus = status;
- }
+ if (precedence < jobPrecedence)
+ precedence = jobPrecedence;
+ }
+ if (precedence >= 0)
+ {
+ setStatus(statusPrecedence[precedence]);