X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=sdnc-a1-controller%2Foam%2Fconfigbackuprestore%2Fvnfconfigbackupservice%2Fsrc%2Fmain%2Fjava%2Fcom%2Fonap%2Fsdnc%2Fvnfbackupservice%2Fservice%2FVnfbackupServiceImpl.java;fp=sdnc-a1-controller%2Foam%2Fconfigbackuprestore%2Fvnfconfigbackupservice%2Fsrc%2Fmain%2Fjava%2Fcom%2Fonap%2Fsdnc%2Fvnfbackupservice%2Fservice%2FVnfbackupServiceImpl.java;h=0000000000000000000000000000000000000000;hb=6a24cde9bbcc101fca02204ca6f1c69ada049790;hp=c3c86df7cbd33594bd39f8b4f8ecbbb2db7c3c5c;hpb=22ca33237c833c90e3626bf1132e72282e207ea5;p=nonrtric.git diff --git a/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupServiceImpl.java b/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupServiceImpl.java deleted file mode 100644 index c3c86df7..00000000 --- a/sdnc-a1-controller/oam/configbackuprestore/vnfconfigbackupservice/src/main/java/com/onap/sdnc/vnfbackupservice/service/VnfbackupServiceImpl.java +++ /dev/null @@ -1,234 +0,0 @@ -/* -* ============LICENSE_START======================================================= -* ONAP : SDNC-FEATURES -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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 com.onap.sdnc.vnfbackupservice.service; - -import java.io.IOException; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.apache.log4j.Logger; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.onap.sdnc.vnfbackupservice.dao.VnfBackupServiceRepo; -import com.onap.sdnc.vnfbackupservice.model.VnfConfigDetailsDB; -import com.onap.sdnc.vnfbackupservice.model.VnfDisplayParams; -import com.onap.sdnc.vnfbackupservice.model.VnfServiceResponse; - -import com.onap.sdnc.vnfbackupservice.scheduler.VnfConfigBackupScheduler; -import com.onap.sdnc.vnfbackupservice.scheduler.VnfRestClient; - -@Service -public class VnfbackupServiceImpl implements VnfbackupService { - - @Autowired - private RestTemplate restTemplate; - - @Autowired - VnfBackupServiceRepo vnfBackupServiceDao; - - @Autowired - VnfConfigBackupScheduler vnfConfigBackupScheduler; - - @Value("${sdnc.rest.vnf.api.host}") - private String host; - - @Value("${sdnc.rest.vnf.api.port}") - private String port; - - @Value("${sdnc.rest.vnf.api.basepath}") - private String basePath; - - @Value("${sdnc.rest.vnf.api.username}") - private String username; - - @Value("${sdnc.rest.vnf.api.password}") - private String password; - - @Autowired - VnfRestClient vnfRestClientlocal; - - private static final Logger logger = Logger.getLogger(VnfbackupServiceImpl.class); - - @Override - public VnfServiceResponse getAllVnfDetails() { - VnfServiceResponse vnfServiceResponse = new VnfServiceResponse(); - String finalURL = "http://" + host + ":" + port + basePath + "/config/VNF-API:vnfs"; - String response = vnfRestClientlocal.vnfRestClient(finalURL, username, password); - List displayParams = parseVnfConfigDetails(response); - vnfServiceResponse.setVnfDisplayList(displayParams); - return vnfServiceResponse; - } - - public List parseVnfConfigDetails(String jsonInput) { - List displayParams = new ArrayList(); - - try { - JSONObject vnf = new JSONObject(jsonInput); - JSONArray vnfList = vnf.getJSONObject("vnfs").getJSONArray("vnf-list"); - - for (int i = 0; i < vnfList.length(); i++) { - VnfDisplayParams vnfDisplayParams = new VnfDisplayParams(); - String responseStatus = vnfList.getJSONObject(i).getJSONObject("service-status").get("response-code") - .toString(); - if ("200".equalsIgnoreCase(responseStatus)) { - String vnfId = vnfList.getJSONObject(i).get("vnf-id").toString(); - String vnfName = vnfList.getJSONObject(i).getJSONObject("service-data") - .getJSONObject("vnf-request-information").get("vnf-name").toString(); - vnfDisplayParams.setVnfId(vnfId); - vnfDisplayParams.setVnfName(vnfName); - displayParams.add(vnfDisplayParams); - } - } - } catch (JSONException e) { - logger.error("Exception is at parseVnfConfigDetails() : " + e); - } - return displayParams; - } - - @Override - public String backupVnfconfig(String vnfId) { - long millis = System.currentTimeMillis(); - Timestamp date = new java.sql.Timestamp(millis); - String finalURL = "http://" + host + ":" + port + basePath + "/config/VNF-API:vnfs/vnf-list/" + vnfId; - logger.debug("connecting to restconf device:::" + finalURL); - String response = vnfRestClientlocal.vnfRestClient(finalURL, username, password); - String configInfo = response; - Timestamp creationDate = date; - Timestamp lastupdated = date; - int status = 1; - String vnfid = vnfId; - String vnfname = ""; - VnfConfigDetailsDB getVnfDetails = null; - String vnfversion = "Version-1"; - try { - getVnfDetails = vnfBackupServiceDao.getVnfDetail(vnfId); - } catch (Exception e) { - logger.error("exception is at getVnfdetails() : " + e); - } - if (getVnfDetails == null) { - JSONObject vnf; - try { - vnf = new JSONObject(response); - vnfname = vnf.getJSONArray("vnf-list").getJSONObject(0).getJSONObject("service-data") - .getJSONObject("vnf-request-information").get("vnf-name").toString(); - - } catch (JSONException e) { - logger.error("exception is at getVnfdetails() : " + e); - } - vnfBackupServiceDao.saveVnfDetails(configInfo, creationDate, lastupdated, status, vnfid, vnfname, - vnfversion); - } else { - try { - String[] vnfvesionsplit = getVnfDetails.getVnfversion().split("-"); - int tmpVnfversion = Integer.parseInt(vnfvesionsplit[1]) + 1; - vnfversion = vnfvesionsplit[0] + "-" + String.valueOf(tmpVnfversion); - - ObjectMapper om = new ObjectMapper(); - try { - Map m1 = (Map) (om.readValue(getVnfDetails.getConfiginfo(), - Map.class)); - Map m2 = (Map) (om.readValue(response, Map.class)); - - JSONObject vnf; - vnf = new JSONObject(response); - vnfname = vnf.getJSONArray("vnf-list").getJSONObject(0).getJSONObject("service-data") - .getJSONObject("vnf-request-information").get("vnf-name").toString(); - - if (!m1.equals(m2)) { - vnfBackupServiceDao.saveVnfDetails(configInfo, creationDate, lastupdated, status, vnfid, - vnfname, vnfversion); - } - } catch (Exception e) { - logger.error("exception is at getVnfdetails() : " + e); - } - } catch (Exception e) { - logger.error("exception is at getVnfdetails() : " + e); - } - } - return "success"; - } - - @Override - public String putVnfconfig(String configfile, String vnfId) { - - String indented = null; - - if (configfile != null) { - restTemplate = new RestTemplate(); - String finalURL = "http://" + host + ":" + port + basePath + "/config/VNF-API:vnfs/vnf-list/" + vnfId; - - HttpHeaders headers = new HttpHeaders(); - - logger.info("connecting to restconf device:::" + finalURL); - String response = vnfRestClientlocal.vnfRestClient(finalURL, username, password); - logger.info(response); - ObjectMapper mapper = new ObjectMapper(); - try { - Object json = mapper.readValue(response, Object.class); - indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json); - logger.info(indented); - } catch (JsonParseException e) { - logger.error("exception occer" + e); - } catch (JsonMappingException e) { - logger.error("exception occer" + e); - } catch (IOException e) { - logger.error("exception occer" + e); - } - - if (!(configfile.equals(indented))) { - HttpEntity requestEntity = new HttpEntity(configfile, - vnfRestClientlocal.generateHeaders(headers, username, password)); - - ResponseEntity uri = restTemplate.exchange(finalURL, HttpMethod.PUT, requestEntity, - String.class); - logger.info(uri.getStatusCode()); - if (uri.getStatusCodeValue() == 200) { - vnfConfigBackupScheduler.initiateBackupService(); - } - return "ok"; - } else { - throw new RuntimeException("Both configurations are same"); - } - } - return "ok"; - } - - @Override - public String updatedBackuptime() { - String sdtime = vnfBackupServiceDao.getvnfschedulertime(); - return sdtime; - } - -}