1 package com.onap.sdnc.vnfconfigcomparsion.service;
3 import java.util.ArrayList;
6 import org.apache.logging.log4j.LogManager;
7 import org.apache.logging.log4j.Logger;
8 import org.json.JSONArray;
9 import org.json.JSONException;
10 import org.json.JSONObject;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service;
14 import com.onap.sdnc.vnfcomparsion.dao.VnfComparisonRepository;
15 import com.onap.sdnc.vnfconfigcomparsion.model.VnfCompareResponse;
16 import com.onap.sdnc.vnfconfigcomparsion.model.VnfConfigDetailsDB;
17 import com.onap.sdnc.vnfconfigcomparsion.model.VnfDetails;
20 public class VnfComparisonService {
22 private static final Logger logger = LogManager.getLogger(VnfComparisonService.class);
25 VnfComparisonRepository vnfComparisonRepository;
27 //Returns vnfconfig details if at list 2 and at most 4 versions selected.
28 public VnfCompareResponse getConfigurationDeatils(JSONObject vnfVersionNames, String vnfId) {
29 VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
30 List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
31 VnfDetails vnfDetails = null;
33 JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
34 if (vnfIdArray.length() >= 2 && vnfIdArray.length() <= 4) {
35 for (int i = 0; i < vnfIdArray.length(); i++) {
37 VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository
38 .getVnfDetails(vnfIdArray.get(i).toString(), vnfId);
39 vnfDetails = new VnfDetails();
40 vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
41 vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
42 vnfDetails.setVnfversion(vnfconfigdetails.getVnfversion());
43 vnfDetailsList.add(vnfDetails);
44 logger.debug("Versions : " + vnfIdArray.get(i));
47 throw new RuntimeException("At list 2 and at most 4 versions need to be selected");
49 } catch (JSONException jSONException1) {
51 logger.debug("JSONException occered " + jSONException1);
54 vnfCompareResponse.setVnfDetails(vnfDetailsList);
55 return vnfCompareResponse;
58 //Returns vnfconfig details for any version.
59 public VnfCompareResponse getConfigDeatilsByVnfIdVnfVersion(JSONObject vnfVersionNames, String vnfId) {
60 VnfCompareResponse vnfCompareResponse = new VnfCompareResponse();
61 List<VnfDetails> vnfDetailsList = new ArrayList<VnfDetails>();
62 VnfDetails vnfDetails = null;
64 JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
65 for (int i = 0; i < vnfIdArray.length(); i++) {
66 VnfConfigDetailsDB vnfconfigdetails = vnfComparisonRepository
67 .getVnfDetails(vnfIdArray.get(i).toString(), vnfId);
68 vnfDetails = new VnfDetails();
69 vnfDetails.setVnfDeatils(vnfconfigdetails.getConfiginfo());
70 vnfDetails.setVnfId(vnfconfigdetails.getVnfid());
71 vnfDetails.setVnfversion(vnfconfigdetails.getVnfversion());
72 vnfDetailsList.add(vnfDetails);
73 logger.debug("Versions : " + vnfIdArray.get(i));
75 } catch (JSONException jSONException2) {
77 logger.debug("JSONException occered " + jSONException2);
79 vnfCompareResponse.setVnfDetails(vnfDetailsList);
80 return vnfCompareResponse;
83 //Returns backup vnf details according to vnf id.
84 public List<VnfConfigDetailsDB> getConfigurationDeatils(String vnfId) {
85 List<VnfConfigDetailsDB> vnfconfigdetails = vnfComparisonRepository.getVnfDetailsByVnfID(vnfId);
86 return vnfconfigdetails;
89 //Returns all backup vnf details.
90 public List<VnfConfigDetailsDB> getAllBackupVnfIds() {
91 List<VnfConfigDetailsDB> vnfconfigdetails = vnfComparisonRepository.findvnfidvnfname();
93 return vnfconfigdetails;