org.wso2.carbon.lcm:org.wso2.carbon.lcm.core.feature

WSO2 is an open source application development software company focused on providing service-oriented architecture solutions for professional developers.

License

License

GroupId

GroupId

org.wso2.carbon.lcm
ArtifactId

ArtifactId

org.wso2.carbon.lcm.core.feature
Last Version

Last Version

1.2.0
Release Date

Release Date

Type

Type

pom
Description

Description

WSO2 is an open source application development software company focused on providing service-oriented architecture solutions for professional developers.
Project Organization

Project Organization

WSO2

Download org.wso2.carbon.lcm.core.feature

How to add to project

<!-- https://jarcasting.com/artifacts/org.wso2.carbon.lcm/org.wso2.carbon.lcm.core.feature/ -->
<dependency>
    <groupId>org.wso2.carbon.lcm</groupId>
    <artifactId>org.wso2.carbon.lcm.core.feature</artifactId>
    <version>1.2.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/org.wso2.carbon.lcm/org.wso2.carbon.lcm.core.feature/
implementation 'org.wso2.carbon.lcm:org.wso2.carbon.lcm.core.feature:1.2.0'
// https://jarcasting.com/artifacts/org.wso2.carbon.lcm/org.wso2.carbon.lcm.core.feature/
implementation ("org.wso2.carbon.lcm:org.wso2.carbon.lcm.core.feature:1.2.0")
'org.wso2.carbon.lcm:org.wso2.carbon.lcm.core.feature:pom:1.2.0'
<dependency org="org.wso2.carbon.lcm" name="org.wso2.carbon.lcm.core.feature" rev="1.2.0">
  <artifact name="org.wso2.carbon.lcm.core.feature" type="pom" />
</dependency>
@Grapes(
@Grab(group='org.wso2.carbon.lcm', module='org.wso2.carbon.lcm.core.feature', version='1.2.0')
)
libraryDependencies += "org.wso2.carbon.lcm" % "org.wso2.carbon.lcm.core.feature" % "1.2.0"
[org.wso2.carbon.lcm/org.wso2.carbon.lcm.core.feature "1.2.0"]

Dependencies

compile (2)

Group / Artifact Type Version
org.wso2.carbon.lcm : org.wso2.carbon.lcm.sql jar 1.2.0
org.wso2.carbon.lcm : org.wso2.carbon.lcm.core jar 1.2.0

Project Modules

There are no modules declared in this project.

Lifecycle Management Component


Branch Build Status
master Build Status

This component provides lifecycle management capability to any of the resource type which requires lifecycle capability. This will store all the data related to lifecycles in its side. Component will provide an unique id to outside to maintain tha mapping between the lifecycle data external object (For ex: API, APP, REST Service)

All the operations are exposed the through the "ManagedLifecycle" interface. Any object which require lifecycle only need to implement this interface and invoke relevant operations. This interface have following methods with default implementation.

  • void createLifecycleEntry(String lcName, String user) throws LifecycleException
  • LifecycleState executeLifecycleEvent(String targetState, String user, String lcName) throws LifecycleException
  • void removeLifecycleEntry(String lcName) throws LifecycleException
  • LifecycleState checkListItemEvent(String lcName, String checkListItemName, boolean value)
  • LifecycleState getCurrentLifecycleState(String lcName) throws LifecycleException

Following methods should be provide with implementation.

  • void associateLifecycle(LifecycleState lifecycleState) throws LifecycleException After adding lifecycle to object(which implements the interface) by calling "createLifecycleEntry" should set this lifecycle state object to its instance. Then they should implement the logic to persist lifecycle id which is in the lifecycle state. This id is the mapping between particular object and its lifecycle data.

  • void dissociateLifecycle() throws LifecycleException This method should update its the current object lifecycle state to null and implement the logic to remove the persisted lifecycle id which was implemented in "associateLifecycle" method.

  • String getLifecycleId(String lcName) This method should provide implementation to give the lifecycle id when lifecycle name is provided. A map can be used to maintain the mapping. This is used if one object is associated with multiple lifecycles.

Note

Please note that any of the above 3 methods should not be called from outside. The default methods in the
interface only call the above 3 methods.
Refer the SampleApi class for an implementation for "ManagedLifecycle" interface.
org.wso2.carbon.lcm

WSO2

Welcome to the WSO2 source code! For info on working with the WSO2 repositories and contributing code, click the link below.

Versions

Version
1.2.0
1.1.4