aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatej Perina <matej.perina@pantheon.tech>2019-04-04 09:27:16 +0200
committerDan Timoney <dtimoney@att.com>2019-08-26 15:29:55 +0000
commit7a37199ebccccd03bbea9b37df09ef610f89bb01 (patch)
tree23b754ea561ac0ceb08ed61e04b956b33ff2a379
parentc08a8a7b8ce929195bff089f7743b5f31d609849 (diff)
Proposal to remove OSGi dependencies from the CCSDK project
Dependencies on the OSGi frameworks and libraries are removed by integrating the CCSDK project with the lighty.io. It's a toolkit that allows to use ODL services (in this case core services and the Restconf) without the dependency on the Karaf framework and the Blueprint DI. In this change are created the lighty.io modules which initialize and expose same services as the Blueprint DI in the blueprint.xml files. More info about the lighty.io - https://lighty.io Change-Id: I3e549e19374ccf04bc430b515e1df7d8d61d8ea7 Signed-off-by: Matej Perina <matej.perina@pantheon.tech> Signed-off-by: Samuel Kontris <samuel.kontris@pantheon.tech>
-rwxr-xr-xccsdk-plugins-lighty/pom.xml49
-rw-r--r--ccsdk-plugins-lighty/src/main/java/org/onap/ccsdk/sli/plugins/lighty/CcsdkPluginsLightyModule.java133
-rwxr-xr-xpom.xml1
-rwxr-xr-xproperties-node/lighty/pom.xml47
-rw-r--r--properties-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/PropertiesNodeModule.java45
-rwxr-xr-xproperties-node/pom.xml1
-rwxr-xr-xrestapi-call-node/lighty/pom.xml47
-rw-r--r--restapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/RestApiCallNodeModule.java46
-rwxr-xr-xrestapi-call-node/pom.xml1
-rwxr-xr-xrestconf-client/lighty/pom.xml47
-rw-r--r--restconf-client/lighty/src/main/java/org/onap/ccsdk/sli/plugins/restconf/lighty/RestconfClientModule.java59
-rwxr-xr-xrestconf-client/pom.xml1
-rwxr-xr-xsshapi-call-node/lighty/pom.xml47
-rw-r--r--sshapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/sshapicall/lighty/SshApiCallModule.java45
-rwxr-xr-xsshapi-call-node/pom.xml1
-rwxr-xr-xtemplate-node/lighty/pom.xml47
-rw-r--r--template-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/template/lighty/TemplateNodeModule.java45
-rw-r--r--template-node/pom.xml1
18 files changed, 663 insertions, 0 deletions
diff --git a/ccsdk-plugins-lighty/pom.xml b/ccsdk-plugins-lighty/pom.xml
new file mode 100755
index 00000000..6b9d8eba
--- /dev/null
+++ b/ccsdk-plugins-lighty/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>odlparent-lite</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>ccsdk-plugins-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-core-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>properties-node-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>restapi-call-node-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>restconf-client-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>sshapi-call-node-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>template-node-lighty</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/ccsdk-plugins-lighty/src/main/java/org/onap/ccsdk/sli/plugins/lighty/CcsdkPluginsLightyModule.java b/ccsdk-plugins-lighty/src/main/java/org/onap/ccsdk/sli/plugins/lighty/CcsdkPluginsLightyModule.java
new file mode 100644
index 00000000..a6d662b8
--- /dev/null
+++ b/ccsdk-plugins-lighty/src/main/java/org/onap/ccsdk/sli/plugins/lighty/CcsdkPluginsLightyModule.java
@@ -0,0 +1,133 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import org.onap.ccsdk.sli.core.lighty.common.CcsdkLightyUtils;
+import org.onap.ccsdk.sli.plugins.prop.lighty.PropertiesNodeModule;
+import org.onap.ccsdk.sli.plugins.prop.lighty.RestApiCallNodeModule;
+import org.onap.ccsdk.sli.plugins.restconf.lighty.RestconfClientModule;
+import org.onap.ccsdk.sli.plugins.sshapicall.lighty.SshApiCallModule;
+import org.onap.ccsdk.sli.plugins.template.lighty.TemplateNodeModule;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that groups all other LightyModules
+ * from the ccsdk-sli-plugins repository so they can be all treated as one component (for example started/stopped at once).
+ * For more information about the lighty.io visit the website https://lighty.io.
+ */
+public class CcsdkPluginsLightyModule extends AbstractLightyModule {
+
+ private static final Logger LOG = LoggerFactory.getLogger(CcsdkPluginsLightyModule.class);
+
+ private PropertiesNodeModule propertiesNodeModule;
+ private RestApiCallNodeModule restApiCallNodeModule;
+ private RestconfClientModule restconfClientModule;
+ private SshApiCallModule sshApiCallModule;
+ private TemplateNodeModule templateNodeModule;
+
+ protected boolean initProcedure() {
+ LOG.debug("Initializing CCSDK Plugins Lighty module...");
+
+ this.propertiesNodeModule = new PropertiesNodeModule();
+ if (!CcsdkLightyUtils.startLightyModule(propertiesNodeModule)) {
+ LOG.error("Unable to start PropertiesNodeModule in CCSDK Plugins Lighty module!");
+ return false;
+ }
+
+ this.restApiCallNodeModule = new RestApiCallNodeModule();
+ if (!CcsdkLightyUtils.startLightyModule(restApiCallNodeModule)) {
+ LOG.error("Unable to start RestApiCallNodeModule in CCSDK Plugins Lighty module!");
+ return false;
+ }
+
+ this.restconfClientModule = new RestconfClientModule(restApiCallNodeModule.getPropertiesNode());
+ if (!CcsdkLightyUtils.startLightyModule(restconfClientModule)) {
+ LOG.error("Unable to start RestconfClientModule in CCSDK Plugins Lighty module!");
+ return false;
+ }
+
+ this.sshApiCallModule = new SshApiCallModule();
+ if (!CcsdkLightyUtils.startLightyModule(sshApiCallModule)) {
+ LOG.error("Unable to start SshApiCallModule in CCSDK Plugins Lighty module!");
+ return false;
+ }
+
+ this.templateNodeModule = new TemplateNodeModule();
+ if (!CcsdkLightyUtils.startLightyModule(templateNodeModule)) {
+ LOG.error("Unable to start TemplateNodeModule in CCSDK Plugins Lighty module!");
+ return false;
+ }
+
+ LOG.debug("CCSDK Plugins Lighty module was initialized successfully");
+ return true;
+ }
+
+ protected boolean stopProcedure() {
+ LOG.debug("Stopping CCSDK Plugins Lighty module...");
+
+ boolean stopSuccessful = true;
+
+ if (!CcsdkLightyUtils.stopLightyModule(templateNodeModule)) {
+ stopSuccessful = false;
+ }
+
+ if (!CcsdkLightyUtils.stopLightyModule(sshApiCallModule)) {
+ stopSuccessful = false;
+ }
+
+ if (!CcsdkLightyUtils.stopLightyModule(restconfClientModule)) {
+ stopSuccessful = false;
+ }
+
+ if (!CcsdkLightyUtils.stopLightyModule(restApiCallNodeModule)) {
+ stopSuccessful = false;
+ }
+
+ if (!CcsdkLightyUtils.stopLightyModule(propertiesNodeModule)) {
+ stopSuccessful = false;
+ }
+
+ if (stopSuccessful) {
+ LOG.debug("CCSDK Plugins Lighty module was stopped successfully");
+ } else {
+ LOG.error("CCSDK Plugins Lighty module was not stopped successfully!");
+ }
+ return stopSuccessful;
+ }
+
+ public PropertiesNodeModule getPropertiesNodeModule() {
+ return propertiesNodeModule;
+ }
+
+ public RestApiCallNodeModule getRestApiCallNodeModule() {
+ return restApiCallNodeModule;
+ }
+
+ public RestconfClientModule getRestconfClientModule() {
+ return restconfClientModule;
+ }
+
+ public SshApiCallModule getSshApiCallModule() {
+ return sshApiCallModule;
+ }
+
+ public TemplateNodeModule getTemplateNodeModule() {
+ return templateNodeModule;
+ }
+}
diff --git a/pom.xml b/pom.xml
index 6ee7dea9..9fa01554 100755
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,7 @@
<module>grToolkit</module>
<module>features</module>
<module>artifacts</module>
+ <module>ccsdk-plugins-lighty</module>
</modules>
<scm>
diff --git a/properties-node/lighty/pom.xml b/properties-node/lighty/pom.xml
new file mode 100755
index 00000000..6778f3c2
--- /dev/null
+++ b/properties-node/lighty/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>properties-node-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>ccsdk-sli-plugins :: properties-node :: ${project.artifactId}</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.lighty.core</groupId>
+ <artifactId>lighty-controller</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>properties-node-provider</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/properties-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/PropertiesNodeModule.java b/properties-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/PropertiesNodeModule.java
new file mode 100644
index 00000000..34538112
--- /dev/null
+++ b/properties-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/PropertiesNodeModule.java
@@ -0,0 +1,45 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.prop.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyModule;
+import org.onap.ccsdk.sli.plugins.prop.PropertiesNode;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from
+ * the properties-node-provider artifact.
+ */
+public class PropertiesNodeModule extends AbstractLightyModule implements LightyModule {
+
+ private PropertiesNode propertiesNode;
+
+ @Override
+ protected boolean initProcedure() {
+ this.propertiesNode = new PropertiesNode();
+ return true;
+ }
+
+ @Override
+ protected boolean stopProcedure() {
+ return true;
+ }
+
+ public PropertiesNode getPropertiesNode() {
+ return this.propertiesNode;
+ }
+}
diff --git a/properties-node/pom.xml b/properties-node/pom.xml
index 09991f46..64036f7b 100755
--- a/properties-node/pom.xml
+++ b/properties-node/pom.xml
@@ -21,5 +21,6 @@
<module>provider</module>
<module>features</module>
<module>installer</module>
+ <module>lighty</module>
</modules>
</project>
diff --git a/restapi-call-node/lighty/pom.xml b/restapi-call-node/lighty/pom.xml
new file mode 100755
index 00000000..fa4ad5c2
--- /dev/null
+++ b/restapi-call-node/lighty/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>restapi-call-node-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>ccsdk-sli-plugins :: restapi-call-node :: ${project.artifactId}</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.lighty.core</groupId>
+ <artifactId>lighty-controller</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>restapi-call-node-provider</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/restapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/RestApiCallNodeModule.java b/restapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/RestApiCallNodeModule.java
new file mode 100644
index 00000000..01fa03e5
--- /dev/null
+++ b/restapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/prop/lighty/RestApiCallNodeModule.java
@@ -0,0 +1,46 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.prop.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyModule;
+import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from
+ * the restapi-call-node-provider artifact.
+ */
+public class RestApiCallNodeModule extends AbstractLightyModule implements LightyModule {
+
+ private RestapiCallNode restapiCallNode;
+
+ @Override
+ protected boolean initProcedure() {
+ this.restapiCallNode = new RestapiCallNode();
+ return true;
+ }
+
+ @Override
+ protected boolean stopProcedure() {
+ return true;
+ }
+
+ public RestapiCallNode getPropertiesNode() {
+ return this.restapiCallNode;
+ }
+
+}
diff --git a/restapi-call-node/pom.xml b/restapi-call-node/pom.xml
index d6fb0b49..7fbce024 100755
--- a/restapi-call-node/pom.xml
+++ b/restapi-call-node/pom.xml
@@ -20,5 +20,6 @@
<module>provider</module>
<module>features</module>
<module>installer</module>
+ <module>lighty</module>
</modules>
</project>
diff --git a/restconf-client/lighty/pom.xml b/restconf-client/lighty/pom.xml
new file mode 100755
index 00000000..86e8af30
--- /dev/null
+++ b/restconf-client/lighty/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>restconf-client-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>ccsdk-sli-plugins :: restconf-client :: ${project.artifactId}</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.lighty.core</groupId>
+ <artifactId>lighty-controller</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>restconf-client-provider</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/restconf-client/lighty/src/main/java/org/onap/ccsdk/sli/plugins/restconf/lighty/RestconfClientModule.java b/restconf-client/lighty/src/main/java/org/onap/ccsdk/sli/plugins/restconf/lighty/RestconfClientModule.java
new file mode 100644
index 00000000..bb0fc90d
--- /dev/null
+++ b/restconf-client/lighty/src/main/java/org/onap/ccsdk/sli/plugins/restconf/lighty/RestconfClientModule.java
@@ -0,0 +1,59 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.restconf.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyModule;
+import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;
+import org.onap.ccsdk.sli.plugins.restconfapicall.RestconfApiCallNode;
+import org.onap.ccsdk.sli.plugins.restconfdiscovery.RestconfDiscoveryNode;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from
+ * the restconf-client-provider artifact.
+ */
+public class RestconfClientModule extends AbstractLightyModule implements LightyModule {
+
+ private final RestapiCallNode restapiCallNode;
+
+ private RestconfApiCallNode restconfApiCallNode;
+ private RestconfDiscoveryNode restconfDiscoveryNode;
+
+ public RestconfClientModule(final RestapiCallNode restapiCallNode) {
+ this.restapiCallNode = restapiCallNode;
+ }
+
+ @Override
+ protected boolean initProcedure() {
+ this.restconfApiCallNode = new RestconfApiCallNode(restapiCallNode);
+ this.restconfDiscoveryNode = new RestconfDiscoveryNode(restconfApiCallNode);
+ return true;
+ }
+
+ @Override
+ protected boolean stopProcedure() {
+ return true;
+ }
+
+ public RestconfApiCallNode getRestconfApiCallNode() {
+ return this.restconfApiCallNode;
+ }
+
+ public RestconfDiscoveryNode getRestconfDiscoveryNode() {
+ return this.restconfDiscoveryNode;
+ }
+}
diff --git a/restconf-client/pom.xml b/restconf-client/pom.xml
index e8b0123c..221987d8 100755
--- a/restconf-client/pom.xml
+++ b/restconf-client/pom.xml
@@ -20,5 +20,6 @@
<module>provider</module>
<module>features</module>
<module>installer</module>
+ <module>lighty</module>
</modules>
</project>
diff --git a/sshapi-call-node/lighty/pom.xml b/sshapi-call-node/lighty/pom.xml
new file mode 100755
index 00000000..a28c1332
--- /dev/null
+++ b/sshapi-call-node/lighty/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>sshapi-call-node-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>ccsdk-sli-plugins :: sshapi-call-node :: ${project.artifactId}</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.lighty.core</groupId>
+ <artifactId>lighty-controller</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>sshapi-call-node-provider</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/sshapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/sshapicall/lighty/SshApiCallModule.java b/sshapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/sshapicall/lighty/SshApiCallModule.java
new file mode 100644
index 00000000..d8f1932d
--- /dev/null
+++ b/sshapi-call-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/sshapicall/lighty/SshApiCallModule.java
@@ -0,0 +1,45 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.sshapicall.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyModule;
+import org.onap.ccsdk.sli.plugins.sshapicall.SshApiCallNode;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from
+ * the sshapi-call-node-provider artifact.
+ */
+public class SshApiCallModule extends AbstractLightyModule implements LightyModule {
+
+ private SshApiCallNode sshApiCallNode;
+
+ @Override
+ protected boolean initProcedure() {
+ this.sshApiCallNode = new SshApiCallNode();
+ return true;
+ }
+
+ @Override
+ protected boolean stopProcedure() {
+ return true;
+ }
+
+ public SshApiCallNode getSshApiCallNode() {
+ return this.sshApiCallNode;
+ }
+}
diff --git a/sshapi-call-node/pom.xml b/sshapi-call-node/pom.xml
index 66e2af30..4238e773 100755
--- a/sshapi-call-node/pom.xml
+++ b/sshapi-call-node/pom.xml
@@ -20,5 +20,6 @@
<module>provider</module>
<module>features</module>
<module>installer</module>
+ <module>lighty</module>
</modules>
</project>
diff --git a/template-node/lighty/pom.xml b/template-node/lighty/pom.xml
new file mode 100755
index 00000000..cb55c57f
--- /dev/null
+++ b/template-node/lighty/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>1.4.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.onap.ccsdk.sli.northbound</groupId>
+ <artifactId>template-node-lighty</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+
+ <name>ccsdk-sli-plugins :: template-node :: ${project.artifactId}</name>
+ <url>http://maven.apache.org</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.core</groupId>
+ <artifactId>ccsdk-lighty-dependency-versions</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.lighty.core</groupId>
+ <artifactId>lighty-controller</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.ccsdk.sli.plugins</groupId>
+ <artifactId>template-node-provider</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/template-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/template/lighty/TemplateNodeModule.java b/template-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/template/lighty/TemplateNodeModule.java
new file mode 100644
index 00000000..1cd836bb
--- /dev/null
+++ b/template-node/lighty/src/main/java/org/onap/ccsdk/sli/plugins/template/lighty/TemplateNodeModule.java
@@ -0,0 +1,45 @@
+/*
+ * ============LICENSE_START==========================================
+ * Copyright (c) 2019 PANTHEON.tech s.r.o.
+ * ===================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ *
+ */
+package org.onap.ccsdk.sli.plugins.template.lighty;
+
+import io.lighty.core.controller.api.AbstractLightyModule;
+import io.lighty.core.controller.api.LightyModule;
+import org.onap.ccsdk.sli.plugins.template.TemplateNode;
+
+/**
+ * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from
+ * the template-node-provider artifact.
+ */
+public class TemplateNodeModule extends AbstractLightyModule implements LightyModule {
+
+ private TemplateNode templateNode;
+
+ @Override
+ protected boolean initProcedure() {
+ this.templateNode = new TemplateNode();
+ return true;
+ }
+
+ @Override
+ protected boolean stopProcedure() {
+ return true;
+ }
+
+ public TemplateNode getTemplateNode() {
+ return this.templateNode;
+ }
+}
diff --git a/template-node/pom.xml b/template-node/pom.xml
index 0c811f71..4149f874 100644
--- a/template-node/pom.xml
+++ b/template-node/pom.xml
@@ -17,5 +17,6 @@
<module>provider</module>
<module>features</module>
<module>installer</module>
+ <module>lighty</module>
</modules>
</project>