Epic-231 cbr for compare
[sdnc/oam.git] / configbackuprestore / getBackupVnfDetailService / src / main / java / com / onap / sdnc / vnfconfigcomparsion / service / VnfComparisonService.java
1 package com.onap.sdnc.vnfconfigcomparsion.service;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
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;
13
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;
18
19 @Service
20 public class VnfComparisonService {
21
22         private static final Logger logger = LogManager.getLogger(VnfComparisonService.class);
23
24         @Autowired
25         VnfComparisonRepository vnfComparisonRepository;
26
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;
32                 try {
33                         JSONArray vnfIdArray = vnfVersionNames.getJSONArray("versionNames");
34                         if (vnfIdArray.length() >= 2 && vnfIdArray.length() <= 4) {
35                                 for (int i = 0; i < vnfIdArray.length(); i++) {
36                                         
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));
45                                 }
46                         }/*else {
47                                 throw new RuntimeException("At list 2 and at most 4 versions need to be selected");
48                         }*/
49                 } catch (JSONException jSONException1) {
50                         
51                         logger.debug("JSONException occered " + jSONException1);
52                         
53                 }
54                 vnfCompareResponse.setVnfDetails(vnfDetailsList);
55                 return vnfCompareResponse;
56         }
57
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;
63                 try {
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));
74                         }
75                 } catch (JSONException jSONException2) {
76
77                         logger.debug("JSONException occered " + jSONException2);
78                 }
79                 vnfCompareResponse.setVnfDetails(vnfDetailsList);
80                 return vnfCompareResponse;
81         }
82         
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;
87         }
88
89         //Returns all backup vnf details.
90         public List<VnfConfigDetailsDB> getAllBackupVnfIds() {
91                 List<VnfConfigDetailsDB> vnfconfigdetails = vnfComparisonRepository.findvnfidvnfname();
92                 
93                 return vnfconfigdetails;
94         }
95
96 }