Skip to main content

Pentaho+ documentation is moving!

The new product documentation portal is here. Check it out now at docs.hitachivantara.com

 

Hitachi Vantara Lumada and Pentaho Documentation

ActionExecution

pentaho.action.impl.Target ActionExecution

The Target.ActionExecution class is an inner class of Target that assumes that that the execution target is a Target.

It provides an implementation of Execution which delegates to the event observers of each of the execution phases, by calling the correspondingly named methods of target: Target#_emitActionPhaseInitEvent, Target#_emitActionPhaseWillEvent Target#_emitActionPhaseDoEvent and Target#_emitActionPhaseFinallyEvent.

Extends

Constructor

Name Description
new ActionExecution(action, target)

Creates an action execution instance for a given action and target.

Members

Name Description
action :  pentaho.type.action.Base
Abstract

Gets the action of the action execution.

error :  Error | pentaho.lang.UserError

Gets the reason for a rejected action execution, or null.

isCanceled :  boolean

Gets a value that indicates if the action execution has been canceled.

isDone :  boolean

Gets a value that indicates if the action execution completed successfully.

isExecuting :  boolean

Gets a value that indicates if the action execution is executing.

isFailed :  boolean

Gets a value that indicates if the action execution has failed.

isFinished :  boolean

Gets a value that indicates if the action execution has finished.

isRejected :  boolean

Gets a value that indicates if the action execution has been rejected.

isSettled :  boolean

Gets a value that indicates if the action execution has been settled.

isSync :  boolean

Gets a value that indicates if the execution is synchronous.

isUnstarted :  boolean

Gets a value that indicates if the action execution is in the unstarted state.

promise :  Promise

Gets a promise for the result (or error) of this action execution.

result :  *

Gets the result of a successful action execution, if any.

state :  pentaho.type.action.States

Gets the current action execution state.

target :  pentaho.type.action.ITarget
Abstract

Gets the target of the action execution.

Methods

Name Description
_doDefault() : Promise
Protected

Performs the default "execution" for the associated action.

_lockAction()
Protected

Locks the action.

_onPhaseDo() : Promise
Protected

Called during the action's do phase.

_onPhaseFinally()
Protected

Called during the action's finally phase.

_onPhaseInit()
Protected

Called during the action execution's initialize phase.

_onPhaseWill()
Protected

Called during the action execution's will phase.

_validate() : Array.<Error>
Protected

Validates that the action execution is valid for entering the will phase.

done(result) : pentaho.type.action.Execution

Called from an action observer to settle the action execution as being done, optionally giving a result value.

execute() : pentaho.type.action.Execution

Executes the action.

executeWill() : pentaho.type.action.Execution

Executes up to the 'will' phase of the action.

reject(reason) : pentaho.type.action.Execution

Called to settle the action execution as rejected.

Constructor Details

new ActionExecution(action, target)

Creates an action execution instance for a given action and target.

Source: javascript/web/pentaho/action/impl/Target.js, line 51

Parameters:
Name Default Value Summary
action : pentaho.type.action.Base

The action to execute. A clone of it is used.

target : pentaho.type.action.ITarget

The target on which to execute.

Members Details

action:  pentaho.type.action.Base
Abstract

Gets the action of the action execution.

Once the action execution enters the will phase, this object gets frozen and can no longer be modified.

Source: javascript/web/pentaho/action/Execution.js, line 229

Inherited From: pentaho.action.Execution#action

error:  Error | pentaho.lang.UserError

Gets the reason for a rejected action execution, or null.

This property only returns a non-null value if isRejected is true.

Source: javascript/web/pentaho/action/Execution.js, line 323

Inherited From: pentaho.action.Execution#error

isCanceled:  boolean

Gets a value that indicates if the action execution has been canceled.

An action execution is considered canceled if its state has the canceled bit on.

Source: javascript/web/pentaho/action/Execution.js, line 391

Inherited From: pentaho.action.Execution#isCanceled

See also: pentaho.type.action.Execution#isRejected

isDone:  boolean

Gets a value that indicates if the action execution completed successfully.

An action execution is considered done if its state has the did bit on.

Source: javascript/web/pentaho/action/Execution.js, line 440

Inherited From: pentaho.action.Execution#isDone

See also: pentaho.type.action.Execution#isSettled , pentaho.type.action.Execution#result

isExecuting:  boolean

Gets a value that indicates if the action execution is executing.

An action execution is considered executing if it has started but not yet finished, i.e., if its state is not the unstarted state or any of the finished states.

Source: javascript/web/pentaho/action/Execution.js, line 424

Inherited From: pentaho.action.Execution#isExecuting

See also: pentaho.type.action.Execution#isUnstarted , pentaho.type.action.Execution#isFinished

isFailed:  boolean

Gets a value that indicates if the action execution has failed.

An action execution is considered failed if its state has the failed bit on.

Source: javascript/web/pentaho/action/Execution.js, line 406

Inherited From: pentaho.action.Execution#isFailed

See also: pentaho.type.action.Execution#isRejected

isFinished:  boolean

Gets a value that indicates if the action execution has finished.

An action execution is considered finished if its state has the finished bit on.

When finished, one of the bits did, canceled or failed must also be on.

Source: javascript/web/pentaho/action/Execution.js, line 462

Inherited From: pentaho.action.Execution#isFinished

See also: pentaho.type.action.Execution#isSettled

isRejected:  boolean

Gets a value that indicates if the action execution has been rejected.

An action execution is considered rejected if its state has one of the following bits on: canceled or failed.

Source: javascript/web/pentaho/action/Execution.js, line 376

Inherited From: pentaho.action.Execution#isRejected

See also: pentaho.type.action.Execution#isCanceled , pentaho.type.action.Execution#isFailed , pentaho.type.action.Execution#isDone , pentaho.type.action.Execution#isSettled , pentaho.type.action.Execution#error

isSettled:  boolean

Gets a value that indicates if the action execution has been settled.

An action execution is considered settled if its state has one of the following bits on: did, failed or canceled.

When an execution is settled it may not yet be [finished]{@see pentaho.type.action.Execution#isFinished}.

Source: javascript/web/pentaho/action/Execution.js, line 356

Inherited From: pentaho.action.Execution#isSettled

See also: pentaho.type.action.Execution#isCanceled , pentaho.type.action.Execution#isFailed , pentaho.type.action.Execution#isDone

isSync:  boolean

Gets a value that indicates if the execution is synchronous.

Source: javascript/web/pentaho/action/Execution.js, line 248

Inherited From: pentaho.action.Execution#isSync

isUnstarted:  boolean

Gets a value that indicates if the action execution is in the unstarted state.

Source: javascript/web/pentaho/action/Execution.js, line 334

Inherited From: pentaho.action.Execution#isUnstarted

promise:  Promise

Gets a promise for the result (or error) of this action execution.

This promise can be requested anytime, before the execution has started, during execution, or after execution has finished. It can also be requested whether or not the associated action is synchronous or asynchronous.

The promise is fulfilled with the action execution's result or rejected with the action execution's error.

Source: javascript/web/pentaho/action/Execution.js, line 485

Inherited From: pentaho.action.Execution#promise

result:  *

Gets the result of a successful action execution, if any.

This property only returns a non-undefined value if isDone is true.

Source: javascript/web/pentaho/action/Execution.js, line 310

Inherited From: pentaho.action.Execution#result

state:  pentaho.type.action.States

Gets the current action execution state.

Source: javascript/web/pentaho/action/Execution.js, line 279

Inherited From: pentaho.action.Execution#state

See also: pentaho.type.action.Execution#isUnstarted , pentaho.type.action.Execution#isExecuting , pentaho.type.action.Execution#isSettled , pentaho.type.action.Execution#isDone , pentaho.type.action.Execution#isRejected , pentaho.type.action.Execution#isCanceled , pentaho.type.action.Execution#isFailed , pentaho.type.action.Execution#isFinished

target:  pentaho.type.action.ITarget
Abstract

Gets the target of the action execution.

Source: javascript/web/pentaho/action/Execution.js, line 252

Inherited From: pentaho.action.Execution#target

Methods Details

_doDefault() : Promise
Protected

Performs the default "execution" for the associated action.

When the associated action is asynchronous, this method may return a promise. If the promise gets rejected, the action is rejected with the same rejection reason. However, if the promise gets fulfilled, its value is always ignored.

Source: javascript/web/pentaho/action/Execution.js, line 615

Inherited From: pentaho.action.Execution#_doDefault

Returns:
Name Description
Promise
  • A promise for the completion of the default execution of an asynchronous action, or null.
_lockAction()
Protected

Locks the action.

The default implementation locks the action by using the Object.freeze() method.

Source: javascript/web/pentaho/action/Execution.js, line 891

Inherited From: pentaho.action.Execution#_lockAction

_onPhaseDo() : Promise
Protected

Called during the action's do phase.

The default implementation does nothing.

Source: javascript/web/pentaho/action/Execution.js, line 1052

Inherited From: pentaho.action.Execution#_onPhaseDo

Returns:
Name Description
Promise | null

A promise to the completion of the asynchronous do listener, of an asynchronous action, or null.

_onPhaseFinally()
Protected

Called during the action's finally phase.

The default implementation does nothing.

Source: javascript/web/pentaho/action/Execution.js, line 1063

Inherited From: pentaho.action.Execution#_onPhaseFinally

_onPhaseInit()
Protected

Called during the action execution's initialize phase.

The default implementation does nothing.

Source: javascript/web/pentaho/action/Execution.js, line 1029

Inherited From: pentaho.action.Execution#_onPhaseInit

_onPhaseWill()
Protected

Called during the action execution's will phase.

The default implementation does nothing.

Source: javascript/web/pentaho/action/Execution.js, line 1039

Inherited From: pentaho.action.Execution#_onPhaseWill

_validate() : Array.<Error>
Protected

Validates that the action execution is valid for entering the will phase.

The default implementation validates the action.

Source: javascript/web/pentaho/action/Execution.js, line 903

Inherited From: pentaho.action.Execution#_validate

Returns:
Name Description
Array.<Error> | null

A non-empty array of errors, if any; otherwise null.

done(result) : pentaho.type.action.Execution

Called from an action observer to settle the action execution as being done, optionally giving a result value.

Source: javascript/web/pentaho/action/Execution.js, line 631

Inherited From: pentaho.action.Execution#done

Parameters:
Name Default Value Summary
result : *
Optional

The result of the action execution, if any.

Returns:
Name Description
pentaho.type.action.Execution

The value of this.

Throws:
Name Description
pentaho.lang.OperationInvalidError

When the action execution is not in the do state.

execute() : pentaho.type.action.Execution

Executes the action.

When the associated action is asynchronous, or it is not know if it is synchronous or asynchronous, upon return of this method, obtain the value of the promise property and wait for its resolution.

Source: javascript/web/pentaho/action/Execution.js, line 540

Inherited From: pentaho.action.Execution#execute

Returns:
Name Description
pentaho.type.action.Execution

The value of this.

executeWill() : pentaho.type.action.Execution

Executes up to the 'will' phase of the action.

Source: javascript/web/pentaho/action/Execution.js, line 562

Inherited From: pentaho.action.Execution#executeWill

Returns:
Name Description
pentaho.type.action.Execution

The value of this.

reject(reason) : pentaho.type.action.Execution

Called to settle the action execution as rejected.

The execution is considered failed if reason is an instance of Error (which is not an instance of UserError) or if it is an instance of RuntimeError.

Otherwise, the execution is considered canceled if reason is a string or an instance of UserError (which is not an instance of RuntimeError).

When unstarted, the execution's 'finally' phase is run. Otherwise, it is run later, when the execution reaches that phase.

Source: javascript/web/pentaho/action/Execution.js, line 704

Inherited From: pentaho.action.Execution#reject

Parameters:
Name Default Value Summary
reason : string | Error
Optional

The reason for the rejection.

Returns:
Name Description
pentaho.type.action.Execution

The value of this.

Throws:
Name Description
pentaho.lang.OperationInvalidError

When the action execution is not in one of the states unstarted, init, will or do.

See also: pentaho.type.action.Execution#isRejected , pentaho.type.action.Execution#isCanceled , pentaho.type.action.Execution#isFailed , pentaho.type.action.Execution#error

Example

define([
 "pentaho/lang/UserError",
 "pentaho/lang/RuntimeError"
], function(UserError, RuntimeError) {

 // ...

 target.on("fly", {
 will: function(event) {

 // Canceling the action execution
 // - Method 1
 event.reject("Cannot do this action now.");

 // - Method 2
 event.reject(new UserError("Cannot do this action now."));

 // Failing the action execution
 // - Method 1 (message is not adequate to be shown to the user):
 event.reject(new Error("Null Pointer Exception."));

 // - Method 2 (message is adequate to be shown to the user):
 event.reject(new RuntimeError("The server is currently unreachable."));
 }
 });

 // ...
});