org.squashtest.csp.tm.domain.execution
Enum ExecutionStatus

java.lang.Object
  extended by java.lang.Enum<ExecutionStatus>
      extended by org.squashtest.csp.tm.domain.execution.ExecutionStatus
All Implemented Interfaces:
Serializable, Comparable<ExecutionStatus>, org.squashtest.tm.core.foundation.i18n.Internationalizable

public enum ExecutionStatus
extends Enum<ExecutionStatus>
implements org.squashtest.tm.core.foundation.i18n.Internationalizable

This class declare the 7 execution statuses, 5 of them being canonical. Also, it declares and additional methods to update the new execution status of an execution, based on the former states of the execution, of the step, and the new status of the step. See their documentation for details.

Definitions :

Author:
bsiri

Enum Constant Summary
BLOCKED
           
ERROR
           
FAILURE
           
READY
           
RUNNING
           
SUCCESS
           
UNTESTABLE
           
WARNING
           
 
Field Summary
protected static ExecutionStatus isAmbiguous
           
protected static ExecutionStatus needsComputation
           
 
Method Summary
protected  ExecutionStatus _deduceNewStatus(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
static ExecutionStatus computeNewStatus(ExecutionStatusReport report)
          will compute from scratch a status using a complete report.
protected  boolean couldHaveSetExecStatusAlone(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
 ExecutionStatus deduceNewStatus(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
          will deduce the new status of an execution based on the former execution status and former step status.
abstract  ExecutionStatus getCanonicalStatus()
           
static Set<ExecutionStatus> getCanonicalStatusSet()
           
 String getI18nKey()
           
static Set<ExecutionStatus> getNonTerminatedStatusSet()
           
static Set<ExecutionStatus> getTerminatedStatusSet()
           
protected  boolean hasChanged(ExecutionStatus formerStepStatus)
           
abstract  boolean isCanonical()
           
protected  boolean isNoneOf(ExecutionStatus... status)
           
protected  boolean isOneOf(ExecutionStatus... status)
           
protected  boolean isSetToExecutionStatus(ExecutionStatus formerExecutionStatus)
           
 boolean isTerminatedStatus()
          This methods checks if the status is RUNNING or READY
protected  boolean mayUnlockBloquedExecution(ExecutionStatus formerStepStatus)
           
protected abstract  ExecutionStatus resolveStatus(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
static List<ExecutionStatus> toCanonicalStatusList(List<ExecutionStatus> nonCanonical)
           
protected  ExecutionStatus trivialDeductions(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
protected  boolean trivialNeedComputation(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
static ExecutionStatus valueOf(String name)
          Returns the enum constant of this type with the specified name.
static ExecutionStatus[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
protected  boolean wontUnlockBloquedExecution(ExecutionStatus formerExecutionStatus, ExecutionStatus formerStepStatus)
           
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

UNTESTABLE

public static final ExecutionStatus UNTESTABLE

BLOCKED

public static final ExecutionStatus BLOCKED

FAILURE

public static final ExecutionStatus FAILURE

SUCCESS

public static final ExecutionStatus SUCCESS

RUNNING

public static final ExecutionStatus RUNNING

READY

public static final ExecutionStatus READY

WARNING

public static final ExecutionStatus WARNING

ERROR

public static final ExecutionStatus ERROR
Field Detail

isAmbiguous

protected static ExecutionStatus isAmbiguous

needsComputation

protected static ExecutionStatus needsComputation
Method Detail

values

public static ExecutionStatus[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (ExecutionStatus c : ExecutionStatus.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static ExecutionStatus valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null

resolveStatus

protected abstract ExecutionStatus resolveStatus(ExecutionStatus formerExecutionStatus,
                                                 ExecutionStatus formerStepStatus)

isCanonical

public abstract boolean isCanonical()

getCanonicalStatus

public abstract ExecutionStatus getCanonicalStatus()

toCanonicalStatusList

public static List<ExecutionStatus> toCanonicalStatusList(List<ExecutionStatus> nonCanonical)

getCanonicalStatusSet

public static Set<ExecutionStatus> getCanonicalStatusSet()

getTerminatedStatusSet

public static Set<ExecutionStatus> getTerminatedStatusSet()

getNonTerminatedStatusSet

public static Set<ExecutionStatus> getNonTerminatedStatusSet()

isTerminatedStatus

public boolean isTerminatedStatus()
This methods checks if the status is RUNNING or READY

Returns:
true if the status is neither RUNNING nor READY

getI18nKey

public String getI18nKey()
Specified by:
getI18nKey in interface org.squashtest.tm.core.foundation.i18n.Internationalizable

deduceNewStatus

public ExecutionStatus deduceNewStatus(ExecutionStatus formerExecutionStatus,
                                       ExecutionStatus formerStepStatus)
will deduce the new status of an execution based on the former execution status and former step status. "this" is here the new step status. In some case the deduction is impossible and a further computation will be necessary. The method will first convert the argument to their canonical form before performing the comparison.

Parameters:
formerExecutionStatus - : the former execution status
formerStepStatus - : the former step status
Returns:
: the new execution status when possible, or null if it wasn't. The later usually means that a call to the database is needed.

isNoneOf

protected boolean isNoneOf(ExecutionStatus... status)

isOneOf

protected boolean isOneOf(ExecutionStatus... status)

_deduceNewStatus

protected ExecutionStatus _deduceNewStatus(ExecutionStatus formerExecutionStatus,
                                           ExecutionStatus formerStepStatus)

computeNewStatus

public static ExecutionStatus computeNewStatus(ExecutionStatusReport report)
will compute from scratch a status using a complete report.

Parameters:
report - : ExecutionStatusReport.
Returns:
: ExecutionStatus.

trivialDeductions

protected ExecutionStatus trivialDeductions(ExecutionStatus formerExecutionStatus,
                                            ExecutionStatus formerStepStatus)

trivialNeedComputation

protected boolean trivialNeedComputation(ExecutionStatus formerExecutionStatus,
                                         ExecutionStatus formerStepStatus)

hasChanged

protected boolean hasChanged(ExecutionStatus formerStepStatus)

isSetToExecutionStatus

protected boolean isSetToExecutionStatus(ExecutionStatus formerExecutionStatus)

wontUnlockBloquedExecution

protected boolean wontUnlockBloquedExecution(ExecutionStatus formerExecutionStatus,
                                             ExecutionStatus formerStepStatus)

mayUnlockBloquedExecution

protected boolean mayUnlockBloquedExecution(ExecutionStatus formerStepStatus)

couldHaveSetExecStatusAlone

protected boolean couldHaveSetExecStatusAlone(ExecutionStatus formerExecutionStatus,
                                              ExecutionStatus formerStepStatus)


Copyright © 2010-2012 Henix, henix.fr. All Rights Reserved.