Difference between revisions of "GVIteratorOperationNode"

From GreenVulcano Wiki
Jump to: navigation, search
(exit-loop-condition)
(CoreCall)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
==Description==
 +
 
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.
 +
 +
=={{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 10: 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.
 +
|}
 +
 +
Might have the following subelements:
 +
* [[#CoreCall|CoreCall]]
 +
* [[#proxy-call|proxy-call]] or [[#proxy-enqueue|proxy-enqueue]]
 +
* [[#SubFlowCall|SubFlowCall]]
 +
* [[#exit-loop-condition|exit-loop-condition]]
 +
* [[GVOperationNode#InputServices|InputServices]]
 +
* [[GVOperationNode#OutputServices|OutputServices]]
 +
 +
===CoreCall===
 +
 +
Defines the parameters to invoke a {{GVESB}} service.
 +
Dynamic fields can contains [[placeholders]].
 +
 +
The following table shows the CoreCall element's attributes:
 +
{|class="gvtable"
 +
! Attribute !! Type ||  Description
 
|-
 
|-
| next-node-id || required || Indicates the next node in the workflow to execute when the operation ends.
+
| dynamic || optional || If 'true' then id-system, id-service and operation attributes can contains metadata to be resolved at runtime.
 +
Default ''false''.
 
|-
 
|-
| point-x || optional || X position of the node in the {{L_VULCON}} workflows editor.
+
| id-service || required || Name of [[Service]] to call.
Immutable, used by VulCon.
 
 
|-
 
|-
| point-y || optional || Y position of the node in the {{L_VULCON}} workflows editor.
+
| id-system || optional || Name of service's client.
Immutable, used by VulCon.
 
 
|-
 
|-
| dump-in-out || optional || If true enable the dump of the input/output [[GVBuffer]].
+
| operation || required || Operation to invoke on the service.
Default false.
+
Corresponds to a {{GVESB}} communication operation or to a forward.
 +
|-
 +
| ref-dp || optional || Name of [[Data_provider|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''.
 +
|}
 +
<div class="version_ge3.4.0.9">
 +
{|class="gvtable"
 +
! Attribute !! Tyte !! Description
 
|-
 
|-
| dump-env-in-out || optional || If true enable the dump of the input/output Execution Environment.
+
| change-log-master-service || optional || If true change the log master service with the used one (configured or calculated), in order to write log messages into a different log file.
 +
Used only if @change-log-context is true.
 
Default false.
 
Default false.
 
|}
 
|}
 +
</div>
  
Might have the following subelements:
+
===proxy-call===
* Description
 
* [[CoreCall]]
 
* [[proxy-call]] or [[proxy-enqueue]]
 
* [[#exit-loop-condition|exit-loop-condition]]
 
* [[GVOperationNode#InputServices|InputServices]]
 
* [[GVOperationNode#OutputServices|OutputServices]]
 
 
 
==proxy-call==
 
  
 
Operation useful as a proxy to other Call operation.
 
Operation useful as a proxy to other Call operation.
Line 81: Line 99:
 
* [[ServiceAlias]]
 
* [[ServiceAlias]]
  
==proxy-enqueue==
+
===proxy-enqueue===
  
 
Operation useful as a proxy to other Enqueue operation.
 
Operation useful as a proxy to other Enqueue operation.
Line 102: Line 120:
 
|}
 
|}
  
Its subelements are:
+
Its sub-elements are:
 
* Description
 
* Description
 
* [[ServiceAlias]]
 
* [[ServiceAlias]]
  
==exit-loop-condition==
+
===SubFlowCall===
 +
 
 +
This element defines the parameters to invoke a {{GVESB}} Operation's [[SubFlow]].
 +
 
 +
Dynamic fields can contains the [[placeholders]] that will be replaced at runtime.
 +
 
 +
The following table shows the SubFlowCall  element's attributes:
 +
{|class="gvtable"
 +
! 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.
 
Defines a condition that occur during an iteration, causing the interruption of the loop calls.
  
Might contain the following subelements:
+
Might contain the following sub-elements:
 
* Description
 
* Description
 
* [[#exception-event|exception-event]]
 
* [[#exception-event|exception-event]]
  
===exception-event===
+
====exception-event====
  
 
Defines the type of exception that, if launched at an iteration, causes the interruption of the loop calls.
 
Defines the type of exception that, if launched at an iteration, causes the interruption of the loop calls.
Line 124: Line 163:
 
| value || optional || The type of exception.
 
| 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.
 
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.
 
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
 
| 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.
 
propagated (causing the total failure of the call to [[GVIteratorOperationNode]] plug-in) or be retained.
 +
 
The default value is 'true'.
 
The default value is 'true'.
 
|}
 
|}

Latest revision as of 20:03, 28 October 2015

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.

Attribute Tyte Description
change-log-master-service optional If true change the log master service with the used one (configured or calculated), in order to write log messages into a different log file.

Used only if @change-log-context is true. Default false.

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'.