[ Operation.Claim
: [ new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
setNewOwnerToUser = true,
newStatus = Status.Reserved
} ],
Operation.Start
: [ new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner ],
setNewOwnerToUser = true,
newStatus = Status.InProgress
},
new OperationCommand().{
status = [ Status.Reserved ],
allowed = [ Allowed.Owner ],
newStatus = Status.InProgress
} ],
Operation.Stop
: [ new OperationCommand().{
status = [ Status.InProgress ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
newStatus = Status.Reserved
} ],
Operation.Release
: [ new OperationCommand().{
status = [ Status.Reserved, Status.InProgress ],
allowed = [Allowed.Owner, Allowed.BusinessAdministrator ],
setNewOwnerToNull = true,
newStatus = Status.Ready
} ],
Operation.Suspend
: [ new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
newStatus = Status.Suspended
},
new OperationCommand().{
status = [ Status.Reserved, Status.InProgress ],
allowed = [Allowed.Owner, Allowed.BusinessAdministrator ],
newStatus = Status.Suspended
} ],
Operation.Resume
: [ new OperationCommand().{
previousStatus = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
setToPreviousStatus = true
},
new OperationCommand().{
previousStatus = [ Status.Reserved, Status.InProgress ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
setToPreviousStatus = true
} ],
Operation.Skip
: [ new OperationCommand().{
status = [ Status.Created ],
allowed = [ Allowed.Initiator, Allowed.BusinessAdministrator ],
newStatus = Status.Obsolete,
skippable = true
},
new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
newStatus = Status.Obsolete,
skippable = true
},
new OperationCommand().{
status = [ Status.Reserved, Status.InProgress ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
newStatus = Status.Obsolete,
skippable = true
} ],
Operation.Delegate
: [ new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
addTargetUserToPotentialOwners = true,
newStatus = Status.Ready,
exec = Operation.Claim
},
new OperationCommand().{
status = [ Status.Reserved, Status.InProgress ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
addTargetUserToPotentialOwners = true,
newStatus = Status.Ready,
exec = Operation.Claim
} ],
Operation.Forward
: [ new OperationCommand().{
status = [ Status.Ready ],
allowed = [ Allowed.PotentialOwner, Allowed.BusinessAdministrator ],
userIsExplicitPotentialOwner = true,
addTargetUserToPotentialOwners = true,
removeUserFromPotentialOwners = true,
setNewOwnerToNull = true,
newStatus = Status.Ready
},
new OperationCommand().{
status = [ Status.Reserved, Status.InProgress ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
userIsExplicitPotentialOwner = true,
addTargetUserToPotentialOwners = true,
removeUserFromPotentialOwners = true,
setNewOwnerToNull = true,
newStatus = Status.Ready
}],
Operation.Complete
: [ new OperationCommand().{
status = [ Status.InProgress ],
allowed = [ Allowed.Owner ],
newStatus = Status.Completed
} ],
Operation.Fail
: [ new OperationCommand().{
status = [ Status.InProgress ],
allowed = [ Allowed.Owner ],
newStatus = Status.Failed
} ],
Operation.Register
: [ new OperationCommand().{
status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended ],
allowed = [ Allowed.Anyone ]
} ],
Operation.Remove
: [ new OperationCommand().{
status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended ],
allowed = [ Allowed.Anyone ]
} ],
Operation.Activate
: [ new OperationCommand().{
status = [ Status.Created ],
allowed = [ Allowed.Owner, Allowed.BusinessAdministrator ],
newStatus = Status.Ready
} ],
Operation.Exit
: [ new OperationCommand().{
status = [ Status.Created, Status.Ready, Status.Reserved, Status.InProgress, Status.Suspended ],
allowed = [ Allowed.BusinessAdministrator ],
newStatus = Status.Exited
} ]
]