diff options
Diffstat (limited to 'lcm/lighty')
-rwxr-xr-x | lcm/lighty/pom.xml | 47 | ||||
-rw-r--r-- | lcm/lighty/src/main/java/org/onap/ccsdk/sli/northbound/lcm/lighty/LcmModule.java | 64 |
2 files changed, 111 insertions, 0 deletions
diff --git a/lcm/lighty/pom.xml b/lcm/lighty/pom.xml new file mode 100755 index 000000000..90c073233 --- /dev/null +++ b/lcm/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>lcm-lighty</artifactId> + <version>0.6.0-SNAPSHOT</version> + <packaging>jar</packaging> + + <name>ccsdk-sli-northbound :: lcm :: ${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.northbound</groupId> + <artifactId>lcm-provider</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> +</project> diff --git a/lcm/lighty/src/main/java/org/onap/ccsdk/sli/northbound/lcm/lighty/LcmModule.java b/lcm/lighty/src/main/java/org/onap/ccsdk/sli/northbound/lcm/lighty/LcmModule.java new file mode 100644 index 000000000..cbbf9fb2e --- /dev/null +++ b/lcm/lighty/src/main/java/org/onap/ccsdk/sli/northbound/lcm/lighty/LcmModule.java @@ -0,0 +1,64 @@ +/* + * ============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.northbound.lcm.lighty; + +import io.lighty.core.controller.api.AbstractLightyModule; +import io.lighty.core.controller.api.LightyModule; +import org.onap.ccsdk.sli.core.sli.provider.SvcLogicService; +import org.onap.ccsdk.sli.northbound.LcmProvider; +import org.onap.ccsdk.sli.northbound.LcmSliClient; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; + +/** + * The implementation of the {@link io.lighty.core.controller.api.LightyModule} that manages and provides services from + * the lcm-provider artifact. + */ +public class LcmModule extends AbstractLightyModule implements LightyModule { + + private final SvcLogicService svcLogicService; + private final DataBroker dataBroker; + private final NotificationPublishService publishService; + private final RpcProviderRegistry rpcRegistry; + + private LcmSliClient lcmSliClient; + private LcmProvider lcmProvider; + + public LcmModule(final SvcLogicService svcLogicService, + final DataBroker dataBroker, + final NotificationPublishService publishService, + final RpcProviderRegistry rpcRegistry) { + this.svcLogicService = svcLogicService; + this.dataBroker = dataBroker; + this.publishService = publishService; + this.rpcRegistry = rpcRegistry; + } + + @Override + protected boolean initProcedure() { + this.lcmSliClient = new LcmSliClient(svcLogicService); + this.lcmProvider = new LcmProvider(dataBroker, publishService, rpcRegistry, lcmSliClient); + return true; + } + + @Override + protected boolean stopProcedure() { + return true; + } + +} |