Epic-231 cbr for compare
SDN-C to support the config comparison feature
Change-Id: I7e9219a40c54e1d0266e0fd55a5871b572539e6b
Issue-ID: SDNC-258
Signed-off-by: Soumendu Sekhar Acharya <SA00498080@techmahindra.com>
Former-commit-id: 2b1c14f1135162077761a1c072f88c247209d8e3
diff --git a/configbackuprestore/getBackupVnfDetailService/pom.xml b/configbackuprestore/getBackupVnfDetailService/pom.xml
new file mode 100644
index 0000000..a5259f0
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/pom.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>configbackuprestore</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>com.onap.sdnc.vnfbackup</groupId>
+ <artifactId>getBackupVnfDetailService</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>getBackupVnfDetailService</name>
+ <url>http://maven.apache.org</url>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mariadb.jdbc</groupId>
+ <artifactId>mariadb-java-client</artifactId>
+ <version>1.1.9</version>
+ </dependency>
+ <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.9</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ <version>1.5.4.RELEASE</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>4.3.9.RELEASE</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-tomcat</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tomcat.embed</groupId>
+ <artifactId>tomcat-embed-jasper</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-devtools</artifactId>
+ <optional>true</optional>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ <version>1.5.3.RELEASE</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ </dependency>
+
+ <!-- Add Log4j2 Dependency -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-log4j2</artifactId>
+ </dependency>
+ <!-- https://mvnrepository.com/artifact/org.javers/javers-core -->
+ <dependency>
+ <groupId>org.javers</groupId>
+ <artifactId>javers-core</artifactId>
+ <version>3.9.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ <version>20180130</version>
+ </dependency>
+
+ <!-- https://mvnrepository.com/artifact/com.flipkart.zjsonpatch/zjsonpatch -->
+ <dependency>
+ <groupId>com.flipkart.zjsonpatch</groupId>
+ <artifactId>zjsonpatch</artifactId>
+ <version>0.2.1</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.7.5.201505241946</version>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+</plugin>
+</plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/configbackuprestore/getBackupVnfDetailService/read.md b/configbackuprestore/getBackupVnfDetailService/read.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/read.md
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/controller/VnfComparisonController.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/controller/VnfComparisonController.java
new file mode 100644
index 0000000..2f83368
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/controller/VnfComparisonController.java
@@ -0,0 +1,68 @@
+package com.onap.sdnc.vnfcomparsion.controller;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfCompareResponse;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
+import com.onap.sdnc.vnfconfigcomparsion.service.VnfComparisonService;
+
+
+@RestController
+public class VnfComparisonController {
+
+ private static final Logger logger = Logger.getLogger(VnfComparisonController.class);
+
+ @Autowired
+ VnfComparisonService vnfComparisonService;
+
+
+ @RequestMapping(value="/getAllBackupVnfIds", method=RequestMethod.GET,produces="application/json")
+ public List<VnfConfigDetailsDB> getAllBackupVnfIds() {
+ return vnfComparisonService.getAllBackupVnfIds();
+ }
+
+
+ @RequestMapping(value="/configcomparison/{vnfid}", method = RequestMethod.POST,produces="application/json")
+ public VnfCompareResponse configComparison(@RequestBody String versionNames,@PathVariable("vnfid") String vnfId) {
+ VnfCompareResponse vnfCompareResponse = null;
+ try {
+ JSONObject versionId = new JSONObject(versionNames);
+ vnfCompareResponse = vnfComparisonService.getConfigurationDeatils(versionId,vnfId);
+
+ } catch (JSONException e1) {
+ logger.error("exception occered"+e1);
+ }
+
+ return vnfCompareResponse;
+}
+
+ @RequestMapping(value="/configDetailsByIdVersion/{vnfid}", method = RequestMethod.POST,produces="application/json")
+ public VnfCompareResponse getVnfDetailsOfVersionsAndVnfID(@RequestBody String versionNames,@PathVariable("vnfid") String vnfId) {
+ VnfCompareResponse vnfCompareResponse = null;
+ try {
+ JSONObject versionId = new JSONObject(versionNames);
+ vnfCompareResponse = vnfComparisonService.getConfigDeatilsByVnfIdVnfVersion(versionId,vnfId);
+
+ } catch (JSONException e1) {
+ logger.error("exception occered"+e1);
+ }
+
+ return vnfCompareResponse;
+}
+
+ @RequestMapping(value="/configDetailsById/{vnfid}", method = RequestMethod.GET,produces="application/json")
+ public List<VnfConfigDetailsDB> getVnfDetailsOfVnfID(@PathVariable("vnfid") String vnfId) {
+ List<VnfConfigDetailsDB> vnfConfigDetails = null;
+ vnfConfigDetails = vnfComparisonService.getConfigurationDeatils(vnfId);
+ return vnfConfigDetails;
+}
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfComparisonRepository.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfComparisonRepository.java
new file mode 100644
index 0000000..265206d
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfComparisonRepository.java
@@ -0,0 +1,30 @@
+package com.onap.sdnc.vnfcomparsion.dao;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
+
+
+@Repository
+public interface VnfComparisonRepository extends JpaRepository<VnfConfigDetailsDB, Serializable>{
+
+
+ @Query(value = "Select * from vnfconfigdetails where vnfid = :vnfid", nativeQuery = true)
+ List<VnfConfigDetailsDB> getVnfDetailsByVnfID(@Param("vnfid") String vnfid);
+
+ @Query(value = "Select * from vnfconfigdetails where vnfversion = :vnfversion and vnfid = :vnfid", nativeQuery = true)
+ VnfConfigDetailsDB getVnfDetails(@Param("vnfversion") String vnfversion, @Param("vnfid") String vnfid);
+
+ public static final String FIND_VNFID = "SELECT * FROM vnfconfigdetails group by vnfid";
+
+ @Query(value= FIND_VNFID,nativeQuery = true)
+ List<VnfConfigDetailsDB> findvnfidvnfname();
+
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfIds.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfIds.java
new file mode 100644
index 0000000..51210b1
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfcomparsion/dao/VnfIds.java
@@ -0,0 +1,7 @@
+package com.onap.sdnc.vnfcomparsion.dao;
+
+public interface VnfIds {
+
+ String getVnfID();
+
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfCompareResponse.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfCompareResponse.java
new file mode 100644
index 0000000..b684541
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfCompareResponse.java
@@ -0,0 +1,16 @@
+package com.onap.sdnc.vnfconfigcomparsion.model;
+
+import java.util.List;
+
+public class VnfCompareResponse {
+
+ private List<VnfDetails> vnfDetails;
+
+ public List<VnfDetails> getVnfDetails() {
+ return vnfDetails;
+ }
+
+ public void setVnfDetails(List<VnfDetails> vnfDetails) {
+ this.vnfDetails = vnfDetails;
+ }
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfConfigDetailsDB.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfConfigDetailsDB.java
new file mode 100644
index 0000000..7a62dc2
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfConfigDetailsDB.java
@@ -0,0 +1,108 @@
+package com.onap.sdnc.vnfconfigcomparsion.model;
+
+import java.sql.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "vnfconfigdetails", schema = "testreports")
+public class VnfConfigDetailsDB {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Column(name = "vnfid")
+ private String vnfid;
+
+ @Column(name = "vnfversion")
+ private String vnfversion;
+
+ @Column(name = "vnfname")
+ private String vnfname;
+
+ @Column(name = "configinfo")
+ @Lob
+ private String configinfo;
+
+ @Column(name = "creationdate")
+ private Date creationdate;
+
+ @Column(name = "lastupdated")
+ private String lastupdated;
+
+ @Column(name = "status")
+ private String status;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getVnfid() {
+ return vnfid;
+ }
+
+ public void setVnfid(String vnfid) {
+ this.vnfid = vnfid;
+ }
+
+ public String getVnfversion() {
+ return vnfversion;
+ }
+
+ public void setVnfversion(String vnfversion) {
+ this.vnfversion = vnfversion;
+ }
+
+ public String getVnfname() {
+ return vnfname;
+ }
+
+ public void setVnfname(String vnfname) {
+ this.vnfname = vnfname;
+ }
+
+ public String getConfiginfo() {
+ return configinfo;
+ }
+
+ public void setConfiginfo(String configinfo) {
+ this.configinfo = configinfo;
+ }
+
+ public Date getCreationdate() {
+ return creationdate;
+ }
+
+ public void setCreationdate(Date creationdate) {
+ this.creationdate = creationdate;
+ }
+
+ public String getLastupdated() {
+ return lastupdated;
+ }
+
+ public void setLastupdated(String lastupdated) {
+ this.lastupdated = lastupdated;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfDetails.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfDetails.java
new file mode 100644
index 0000000..56b5ee2
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/model/VnfDetails.java
@@ -0,0 +1,27 @@
+package com.onap.sdnc.vnfconfigcomparsion.model;
+
+public class VnfDetails {
+
+ private String vnfId;
+ private String vnfDeatils;
+ private String vnfversion;
+
+ public String getVnfversion() {
+ return vnfversion;
+ }
+ public void setVnfversion(String vnfversion) {
+ this.vnfversion = vnfversion;
+ }
+ public String getVnfDeatils() {
+ return vnfDeatils;
+ }
+ public void setVnfDeatils(String vnfDeatils) {
+ this.vnfDeatils = vnfDeatils;
+ }
+ public String getVnfId() {
+ return vnfId;
+ }
+ public void setVnfId(String vnfId) {
+ this.vnfId = vnfId;
+ }
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfComparisonService.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfComparisonService.java
new file mode 100644
index 0000000..73111e6
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfComparisonService.java
@@ -0,0 +1,96 @@
+package com.onap.sdnc.vnfconfigcomparsion.service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.onap.sdnc.vnfcomparsion.dao.VnfComparisonRepository;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfCompareResponse;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfDetails;
+
+@Service
+public class VnfComparisonService {
+
+ private static final Logger logger = LogManager.getLogger(VnfComparisonService.class);
+
+ @Autowired
+ VnfComparisonRepository vnfComparisonRepository;
+
+ //Returns vnfconfig details if at list 2 and at most 4 versions selected.
+ public VnfCompareResponse getConfigurationDeatils(JSONObject vnfVersionNames, String vnfId) {
+ VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
+ List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
+ VnfDetails vnfDetails = null;
+ try {
+ JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
+ if (vnfIdArray.length() >= 2 && vnfIdArray.length() <= 4) {
+ for (int i = 0; i < vnfIdArray.length(); i++) {
+
+ VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository
+ .getVnfDetails(vnfIdArray.get(i).toString(), vnfId);
+ vnfDetails = new VnfDetails();
+ vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
+ vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
+ vnfDetails.setVnfversion(vnfconfigdetails.getVnfversion());
+ vnfDetailsList.add(vnfDetails);
+ logger.debug("Versions : " + vnfIdArray.get(i));
+ }
+ }/*else {
+ throw new RuntimeException("At list 2 and at most 4 versions need to be selected");
+ }*/
+ } catch (JSONException jSONException1) {
+
+ logger.debug("JSONException occered " + jSONException1);
+
+ }
+ vnfCompareResponse.setVnfDetails(vnfDetailsList);
+ return vnfCompareResponse;
+ }
+
+ //Returns vnfconfig details for any version.
+ public VnfCompareResponse getConfigDeatilsByVnfIdVnfVersion(JSONObject vnfVersionNames, String vnfId) {
+ VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
+ List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
+ VnfDetails vnfDetails = null;
+ try {
+ JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
+ for (int i = 0; i < vnfIdArray.length(); i++) {
+ VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository
+ .getVnfDetails(vnfIdArray.get(i).toString(), vnfId);
+ vnfDetails = new VnfDetails();
+ vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
+ vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
+ vnfDetails.setVnfversion(vnfconfigdetails.getVnfversion());
+ vnfDetailsList.add(vnfDetails);
+ logger.debug("Versions : " + vnfIdArray.get(i));
+ }
+ } catch (JSONException jSONException2) {
+
+ logger.debug("JSONException occered " + jSONException2);
+ }
+ vnfCompareResponse.setVnfDetails(vnfDetailsList);
+ return vnfCompareResponse;
+ }
+
+ //Returns backup vnf details according to vnf id.
+ public List<VnfConfigDetailsDB> getConfigurationDeatils(String vnfId) {
+ List<VnfConfigDetailsDB> vnfconfigdetails = vnfComparisonRepository.getVnfDetailsByVnfID(vnfId);
+ return vnfconfigdetails;
+ }
+
+ //Returns all backup vnf details.
+ public List<VnfConfigDetailsDB> getAllBackupVnfIds() {
+ List<VnfConfigDetailsDB> vnfconfigdetails = vnfComparisonRepository.findvnfidvnfname();
+
+ return vnfconfigdetails;
+ }
+
+}
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDAndVnfVersionService.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDAndVnfVersionService.java
new file mode 100644
index 0000000..27db0ac
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDAndVnfVersionService.java
@@ -0,0 +1,56 @@
+/*package com.onap.sdnc.vnfconfigcomparsion.service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.onap.sdnc.vnfcomparsion.dao.VnfComparisonRepository;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfCompareResponse;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfDetails;
+
+public class VnfDetailsForVnfIDAndVnfVersionService {
+
+ private static final Logger logger = LogManager.getLogger(VnfComparisonService.class);
+
+ @Autowired
+ VnfComparisonRepository vnfComparisonRepository;
+
+ public VnfCompareResponse getConfigurationDeatils(JSONObject vnfVersionNames, String vnfId) {
+
+ VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
+ List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
+ VnfDetails vnfDetails = new VnfDetails();
+ try {
+ JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
+ for (int i = 0; i < vnfIdArray.length(); i++) {
+ try {
+ VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository
+ .getVnfDetails(vnfIdArray.get(i).toString(), vnfId);
+ vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
+ vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
+ vnfDetailsList.add(vnfDetails);
+ logger.debug("Versions : " + vnfIdArray.get(i));
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ // e.printStackTrace();
+ }
+ }
+ } catch (JSONException jSONException) {
+
+ throw new RuntimeException("Enter atlist 2 versions and maximum 4 versions");
+ }
+ vnfCompareResponse.setVnfDetails(vnfDetailsList);
+ return vnfCompareResponse;
+
+ }
+
+}
+*/
\ No newline at end of file
diff --git a/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDService.java b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDService.java
new file mode 100644
index 0000000..2aff5bd
--- /dev/null
+++ b/configbackuprestore/getBackupVnfDetailService/src/main/java/com/onap/sdnc/vnfconfigcomparsion/service/VnfDetailsForVnfIDService.java
@@ -0,0 +1,36 @@
+/*package com.onap.sdnc.vnfconfigcomparsion.service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.onap.sdnc.vnfcomparsion.dao.VnfComparisonRepository;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfCompareResponse;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
+import com.onap.sdnc.vnfconfigcomparsion.model.VnfDetails;
+
+public class VnfDetailsForVnfIDService {
+
+ @Autowired
+ VnfComparisonRepository vnfComparisonRepository;
+
+ public VnfCompareResponse getConfigurationDeatils(String vnfId) {
+ VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
+ List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
+ VnfDetails vnfDetails = new VnfDetails();
+ try {
+ VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository.getVnfDetailsByVnfID(vnfId);
+ vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
+ vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
+ vnfDetailsList.add(vnfDetails);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ // e.printStackTrace();
+ }
+ vnfCompareResponse.setVnfDetails(vnfDetailsList);
+ return vnfCompareResponse;
+ }
+
+}
+*/
\ No newline at end of file
diff --git a/configbackuprestore/pom.xml b/configbackuprestore/pom.xml
new file mode 100644
index 0000000..5b01a9c
--- /dev/null
+++ b/configbackuprestore/pom.xml
@@ -0,0 +1,36 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.onap.ccsdk.parent</groupId>
+ <artifactId>configbackuprestore</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>Archetype - configbackuprestore</name>
+ <packaging>pom</packaging>
+
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>1.5.4.RELEASE</version>
+ </parent>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+
+
+ <modules>
+ <module>getBackupVnfDetailService</module>
+ </modules>
+
+
+</project>
diff --git a/configbackuprestore/read.md b/configbackuprestore/read.md
new file mode 100644
index 0000000..3667cd3
--- /dev/null
+++ b/configbackuprestore/read.md
@@ -0,0 +1,7 @@
+Pconfigbackuprestore
+---------------------
+It is the parent of bellow services
+
+vnfconfigbackupservice
+getBackupVnfDetailService
+vnfconfigreportsservice
diff --git a/pom.xml b/pom.xml
index 91434be..24ff99f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,7 @@
<module>admportal</module>
<module>dgbuilder</module>
<module>platform-logic</module>
+ <module>configbackuprestore</module>
</modules>
<scm>