Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

XML Syntax<execution forEvent="" class=""/>
Description

An executor is business logic that is executed once a state transition happens in a lifecycle. The execution element defines the event and the execution class that will be invoked at runtime.

Type 
Default Value 
Fixed Values 
Mandatory/Optional 
Attributes of the Element
demote publish
AttributeDescriptionTypeDefault ValueFixed ValuesMandatory/OptionalNotes
forEvent

Defines the event for which this execution should be performed. This It gives user the flexibility to define executions for each event.

 promote

A valid event value must be given to this attribute.

String

N/A

  • Promote - Event transits the LC state to next level.(development to QA)
  • Demote - Event transits the LC state to previous state.(QA to development)
  • Publish - Event transits the LC state from production to publish.(production to API Store).
  • Promote
  • Demote
  • Publish
Mandatory - valid event value must be given.

promote/demote/publish - When

invoke

this event

the LC state change

is invoked, the life cycle's state changes from its current state to the target state which is defined

within

in the

<transition> element by the

"target" attribute of the <transition> element.

class

Defines the class that needs to be executed at runtime, when the user invokes the corresponding event within a given state. This class consists of business logic to be executed and facilitates environment changes during state transitions.

A user must give the full, qualified name of a class that implements the Execution interface

, as the value of the attribute class

.

 String  mandatoryThis class consists of business logic which will be executed when the user invoke the corresponding event within a given state. This class facilitates the environment changes during the state transition
Sample Implementations

...

N/A
org.wso2.carbon.governance.registry.extensions.
executors.ServiceVersionExecutor
Mandatory

The class named "org.wso2.carbon.governance

.registry.extensions.executors.ServiceVersionExecutor"

...

 

...

does provide the necessary business logic for the complete default lifecycle configuration model.

Sample Implementations
Code Block
<execution forEvent="Promote" class="org.wso2.carbon.governance.registry.extensions.executors.ServiceVersionExecutor">

 

Back to Top ^

...

<parameter>
Anchor
executionPara
executionPara

 
XML Syntax<parameter name="" value=""/>
Description

The element is defined under the <execution> element. The parameter element contains the name and value attributes itself. The parameter will be referred by its name attribute by the business logic that has been defined by the "class" attribute defined within the "<execution>" element and the corresponding parameter's value which is denoted by the value attribute will be used to compute the logic.

Type 
Default Value 
Fixed Values 
Mandatory/Optional

parameter elements incorporate the transition of the underlying resource by changing the environment during the state transition by providing the necessary arguments for the methods defined in the business class which is declared by the class attribute within the <execution> element. The value of the name attribute can be given any name, but it has to be referred by the given name at the back end class defined within the <execution> element. If we omit the <parameter> element under the <execution> element during the state transition, the underlying resource does not move its environment(its storage path).

Mandatory/OptionalOptional
Attributes of the Element
currentEnvironment - denotes the fully
AttributeDescriptionTypeDefault ValueFixed ValuesMandatory/OptionalNotes
name

The parameter will be referred by its name attribute 'name' attribute is referred by the business logic that has been defined by in the "'class" ' attribute defined within of the "<execution>" element

  • currentEnvironment/targetEnvironment - denotes the resource path at the current and target state. Its String literal type.
  • service.mediatype/wsdl.mediatype/endpoint.mediatype - denotes the mime "MediaType" parameters.
 

.

String

N/A
  • currentEnvironment - Denotes the fully-qualified path of the resource under the current state; current state , which is the state in which the resource is currently in.
  • targetEnvironment - denotes Denotes the path to which the resource has to move during the state transition. 
  • service.mediatype - points Points out the MIME mediatype of the service artifact.
  • wsdl.mediatype - points Points out the MIME mediatype of the WSDL artifact.
  • endpoint.mediatype - points Points out the MIME mediatype of the artifact name Endpoint.
all the fields are mandatory.
  • .
MandatoryUser should define a name for the given name attribute of the <parameter> element. It does not have any default values. Parameter will be referred later on by its name.
valueThe 'value' attribute is used to compute the parameter's logic.StringN/AN/AMandatorySince the artifacts are to be governed, the current and target environment have to start with "/_system/governance". In other words, the artifact which artifacts that are governed must be stored under "/_system/governance/" directory . Therefore the artifact has to be under the above directory at any state transition. value parameter's value which is denoted by the value attribute will be used to compute the logic.     The value of the media types are predefined. Those values  can't be changed.
Sample Implementations
Code Block
<execution forEvent="Promote" class="org.wso2.carbon.governance.registry.extensions.executors.ServiceVersionExecutor">
           <parameter name="currentEnvironment" value="/_system/governance/branches/testing/{@resourcePath}/{@version}/{@resourceName}"/>
           <parameter name="targetEnvironment" value="/_system/governance/branches/production/{@resourcePath}/{@version}/{@resourceName}"/>
           <parameter name="service.mediatype" value="application/vnd.wso2-service+xml"/>
           <parameter name="wsdl.mediatype" value="application/wsdl+xml"/>
           <parameter name="endpoint.mediatype" value="application/vnd.wso2.endpoint"/>
 </execution>

...