2 * Copyright 2016-2017 Nokia Corporation
 
   4 * Licensed under the Apache License, Version 2.0 (the "License");
 
   5 * you may not use this file except in compliance with the License.
 
   6 * You may obtain a copy of the License at
 
   8 *     http://www.apache.org/licenses/LICENSE-2.0
 
  10 * Unless required by applicable law or agreed to in writing, software
 
  11 * distributed under the License is distributed on an "AS IS" BASIS,
 
  12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13 * See the License for the specific language governing permissions and
 
  14 * limitations under the License.
 
  16 package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor;
 
  18 import java.util.ArrayList;
 
  19 import java.util.List;
 
  21 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse;
 
  22 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfResponse;
 
  23 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse;
 
  24 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfResponse;
 
  25 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse;
 
  26 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OperationExecution;
 
  27 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants;
 
  28 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
 
  29 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo;
 
  30 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.repository.VnfmJobExecutionRepository;
 
  31 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse;
 
  32 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfResponse;
 
  33 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.OperStatusVnfResponse;
 
  34 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.QueryVnfResponse;
 
  35 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.ScaleVnfResponse;
 
  36 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfResponse;
 
  37 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseDescriptor;
 
  38 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseHistoryList;
 
  39 import org.springframework.beans.factory.annotation.Autowired;
 
  40 import org.springframework.stereotype.Component;
 
  43 public class Cbam2DriverResponseConverter {
 
  46         private VnfmJobExecutionRepository jobDbManager;
 
  48         public InstantiateVnfResponse createRspConvert(CBAMCreateVnfResponse cbamResponse, Long jobId) {
 
  50                 InstantiateVnfResponse response = new InstantiateVnfResponse();
 
  51                 response.setJobId(jobId.longValue() + "");
 
  52                 response.setVnfInstanceId(cbamResponse.getId());
 
  57         public TerminateVnfResponse terminateRspConvert(CBAMTerminateVnfResponse cbamResponse) {
 
  58                 VnfmJobExecutionInfo jobInfo = new VnfmJobExecutionInfo();
 
  59                 jobInfo.setVnfInstanceId(cbamResponse.getId());
 
  60                 jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_TERMINATE);
 
  61                 jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_START);
 
  63                 VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.save(jobInfo);
 
  64                 Long jobId = jobInfo1.getJobId();
 
  65                 TerminateVnfResponse response = new TerminateVnfResponse();
 
  66                 response.setJobId(jobId.longValue() + "");
 
  70         public QueryVnfResponse queryRspConvert(CBAMQueryVnfResponse cbamResponse) {
 
  71                 QueryVnfResponse vnf = new QueryVnfResponse();
 
  72                 vnf.setVnfdId(cbamResponse.getVnfdId());
 
  73                 vnf.setVersion(cbamResponse.getVnfdVersion());
 
  74                 vnf.setVnfInstanceId(cbamResponse.getId());
 
  75                 vnf.setVnfInstanceName(cbamResponse.getName());
 
  76                 vnf.setVnfInstanceDescription(cbamResponse.getDescription());
 
  77                 vnf.setVnfPackageId(cbamResponse.getOnboardedVnfPkgInfoId());
 
  78                 vnf.setVnfProvider(cbamResponse.getVnfProvider());
 
  79                 vnf.setVnfStatus(cbamResponse.getInstantiationState());
 
  80                 vnf.setVnfType(cbamResponse.getVnfSoftwareVersion());
 
  84         public OperStatusVnfResponse operRspConvert(OperationExecution oper) {
 
  86                 OperStatusVnfResponse response = new OperStatusVnfResponse();
 
  88                 response.setJobId(oper.getId());
 
  89                 ResponseDescriptor er = new ResponseDescriptor();
 
  90                 // TODO er.setProgress(i);
 
  91                 if (oper.getStatus() == CommonEnum.OperationStatus.STARTED ) {
 
  92                         er.setStatus("started");
 
  93                 } else if (oper.getStatus() == CommonEnum.OperationStatus.FINISHED) {
 
  94                         er.setStatus("finished");
 
  95                 } else if (oper.getStatus() == CommonEnum.OperationStatus.FAILED) {
 
  96                         er.setStatus("error");
 
  97                 } else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) {
 
  98                         er.setStatus("processing");
 
 100                         er.setStatus("error");
 
 102                 er.setStatusDescription("");
 
 103                 er.setErrorCode(null);
 
 104                 er.setResponseId(oper.getGrantId().hashCode());
 
 105                 List<ResponseHistoryList> list = new ArrayList<ResponseHistoryList>();
 
 106                 ResponseHistoryList relist = new ResponseHistoryList();
 
 107                 // TODO relist.setProgress(i);
 
 108                 relist.setStatus(er.getStatus());
 
 109                 relist.setStatusDescription("");
 
 110                 relist.setErrorCode(null);
 
 111                 relist.setResponseId(er.getResponseId());
 
 113                 er.setResponseHistoryList(list);
 
 114                 response.setResponseDescriptor(er);
 
 118         public HealVnfResponse healRspConvert(CBAMHealVnfResponse cbamResponse) {
 
 119                 HealVnfResponse response = new HealVnfResponse();
 
 120                 response.setJobId("1");
 
 124         public ScaleVnfResponse scaleRspConvert(CBAMScaleVnfResponse cbamResponse) {
 
 125                 ScaleVnfResponse response = new ScaleVnfResponse();
 
 126                 response.setJobId("1");