Difference between revisions of "GVIteratorOperationNode"

From GreenVulcano Wiki
Jump to: navigation, search
(SubFlowCall)
Line 3: Line 3:
 
Node that can perform a sequence of invocations to the operations of the VCL or other workflows.
 
Node that can perform a sequence of invocations to the operations of the VCL or other workflows.
  
=={{GVESB}} Configuration==
+
=={{VULCON}} / {{GVCONSOLE}} Configuration==
 +
 
 +
The GVIteratorOperationNode is a [[Flow]] element that extends [[FlowNode]].
  
 
The iterations are made on the elements of a collection built by a [[CollectionDataProvider]] configured through the attribute 'collection-DP'. Collection elements are inserted in the [[GVBuffer]] object to pass to the plug-in with which loop through invocations.
 
The iterations are made on the elements of a collection built by a [[CollectionDataProvider]] configured through the attribute 'collection-DP'. Collection elements are inserted in the [[GVBuffer]] object to pass to the plug-in with which loop through invocations.
Line 14: Line 16:
 
{|class="gvtable"
 
{|class="gvtable"
 
! Attribute !! Type ||  Description
 
! Attribute !! Type ||  Description
|-
 
| type || fixed || This attribute must assume the value '''flow-node'''.
 
 
|-
 
|-
 
| class || fixed || This attribute must assume the value '''it.greenvulcano.gvesb.core.flow.GVIteratorOperationNode'''.
 
| class || fixed || This attribute must assume the value '''it.greenvulcano.gvesb.core.flow.GVIteratorOperationNode'''.
|-
 
| id || required || ID of the node. Unique within the 'Flow'.
 
 
|-
 
|-
 
| op-type || required || Indicates the type of operation that {{GVESB}} must execute:
 
| op-type || required || Indicates the type of operation that {{GVESB}} must execute:
* call: {{GVESB}} must perform an invocation.
+
* call: perform an VCL invocation.
* enqueue: {{GVESB}} must perform a send a message.
+
* enqueue: perform a send a message.
* corecall: {{GVESB}} must execute an internal service call.
+
* corecall: execute an service call.
|-
+
* subcall: execute an subflow call.
| input || required || Specifies the input (from the execution environment) for the operation.
 
If the input is an exception, the operation is not performed, and the output is set equal input exception.
 
|-
 
| output || optional || The operation's output (GVBuffer or Exception) is inserted into the execution environment with this exact name. Default to "input" value.
 
 
|-
 
|-
 
| collection-dp || optional || Name of [[Data_provider|Data Provider]] to use. Must return a collection of objects.
 
| collection-dp || optional || Name of [[Data_provider|Data Provider]] to use. Must return a collection of objects.
 
The attribute's value can't be null.
 
The attribute's value can't be null.
 
|-
 
|-
| accumulate-output || optional || If true, output of each iteration is concatenated with the previous iteration's output.
+
| accumulate-output || optional || If true, output of each iteration is to an array containing the previous iteration's output.
 
Default is true.
 
Default is true.
|-
 
| next-node-id || required || Indicates the next node in the workflow to execute when the operation ends.
 
|-
 
| point-x || optional || X position of the node in the {{L_VULCON}} workflows editor.
 
Immutable, used by VulCon.
 
|-
 
| point-y || optional || Y position of the node in the {{L_VULCON}} workflows editor.
 
Immutable, used by VulCon.
 
|-
 
| dump-in-out || optional || If true enable the dump of the input/output [[GVBuffer]].
 
Default false.
 
|-
 
| dump-env-in-out || optional || If true enable the dump of the input/output Execution Environment.
 
Default false.
 
 
|}
 
|}
  
 
Might have the following subelements:
 
Might have the following subelements:
* Description
 
 
* [[#CoreCall|CoreCall]]  
 
* [[#CoreCall|CoreCall]]  
 
* [[#proxy-call|proxy-call]] or [[#proxy-enqueue|proxy-enqueue]]
 
* [[#proxy-call|proxy-call]] or [[#proxy-enqueue|proxy-enqueue]]
Line 75: Line 54:
 
| id-service || required || Name of [[Service]] to call.
 
| id-service || required || Name of [[Service]] to call.
 
|-
 
|-
| id-system || required || Name of service's [[Client]].
+
| id-system || optional || Name of service's client.
 
|-
 
|-
 
| operation || required || Operation to invoke on the service.
 
| operation || required || Operation to invoke on the service.
Line 83: Line 62:
 
|-
 
|-
 
| change-log-context || optional || If true change the log context fields according to the new [[System]]/[[Service]]/[[Operation]] values.
 
| change-log-context || optional || If true change the log context fields according to the new [[System]]/[[Service]]/[[Operation]] values.
Default ''false''.
+
Default ''true''.
 
|}
 
|}
  
Line 154: Line 133:
 
|-
 
|-
 
| change-log-context || optional || If true change the log context fields according to the new Operation([[SubFlow]]) value.
 
| change-log-context || optional || If true change the log context fields according to the new Operation([[SubFlow]]) value.
Default false.
+
Default true.
 
|}
 
|}
  

Revision as of 14:55, 4 March 2013

Description

Node that can perform a sequence of invocations to the operations of the VCL or other workflows.

VulCon / GV Console Configuration

The GVIteratorOperationNode is a Flow element that extends FlowNode.

The iterations are made on the elements of a collection built by a CollectionDataProvider configured through the attribute 'collection-DP'. Collection elements are inserted in the GVBuffer object to pass to the plug-in with which loop through invocations.

You can configure a condition of premature exit from the loop.

By default, even if a particular iteration throws an exception all the iterations will be executed anyway.

The following table shows the GVIteratorOperationNode element's attributes:

Attribute Type Description
class fixed This attribute must assume the value it.greenvulcano.gvesb.core.flow.GVIteratorOperationNode.
op-type required Indicates the type of operation that GreenVulcano® ESB must execute:
  • call: perform an VCL invocation.
  • enqueue: perform a send a message.
  • corecall: execute an service call.
  • subcall: execute an subflow call.
collection-dp optional Name of Data Provider to use. Must return a collection of objects.

The attribute's value can't be null.

accumulate-output optional If true, output of each iteration is to an array containing the previous iteration's output.

Default is true.

Might have the following subelements:

CoreCall

Defines the parameters to invoke a GreenVulcano® ESB service. Dynamic fields can contains placeholders.

The following table shows the CoreCall element's attributes:

Attribute Type Description
dynamic optional If 'true' then id-system, id-service and operation attributes can contains metadata to be resolved at runtime.

Default false.

id-service required Name of Service to call.
id-system optional Name of service's client.
operation required Operation to invoke on the service.

Corresponds to a GreenVulcano® ESB communication operation or to a forward.

ref-dp optional Name of Data Provider to use for modifying the GVBuffer content at each iteration.
change-log-context optional If true change the log context fields according to the new System/Service/Operation values.

Default true.

proxy-call

Operation useful as a proxy to other Call operation.

The following table shows the proxy-call element's attributes:

Attribute Type Description
type fixed This attribute must assume the value call.
class fixed This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.ProxyCallOperation.
name required Operation name. Used in the 'Flow' section to associate workflow nodes to VCL operations.
id-system required System providing the Call operation to call.
id-channel required System's channel.
operation required Channel's Call operation.

Its subelements are:

proxy-enqueue

Operation useful as a proxy to other Enqueue operation.

The following table shows the proxy-enqueue element's attributes:

Attribute Type Description
type fixed This attribute must assume the value enqueue.
class fixed This attribute must assume the value it.greenvulcano.gvesb.virtual.internal.ProxyEnqueueOperation.
name required Operation name. Used in the 'Flow' section to associate workflow nodes to VCL operations.
id-system required System providing the Call operation to call.
id-channel required System's channel.
operation required Channel's Enqueue operation.

Its sub-elements are:

SubFlowCall

This element defines the parameters to invoke a GreenVulcano® ESB Operation's SubFlow.

Dynamic fields can contains the placeholders that will be replaced at runtime.

The following table shows the SubFlowCall element's attributes:

Attribute Type Description
dynamic optional If true then SubFlow attribute might contain placeholders to be resolved at runtime.

The default is 'false'.

subflow required Name of SubFlow to call.
ref-dp optional Name of Data provider to use for modifying the GVBuffer content at each iteration.
change-log-context optional If true change the log context fields according to the new Operation(SubFlow) value.

Default true.

exit-loop-condition

Defines a condition that occur during an iteration, causing the interruption of the loop calls.

Might contain the following sub-elements:

exception-event

Defines the type of exception that, if launched at an iteration, causes the interruption of the loop calls.

The following table shows the exception-event element's attributes:

Attribute Type Description
value optional The type of exception.

If the execution of a call sequence throws an exception of this type (or its subtype), the loop stops.

The attribute's default value is: java.lang.Exception.

rethrow optional Through this attribute you can specify whether the exception that it stopped the loop iterations must be

propagated (causing the total failure of the call to GVIteratorOperationNode plug-in) or be retained.

The default value is 'true'.