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.cbam.bo.entity.OperationExecution.OperationType;
 
  28 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants;
 
  29 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
 
  30 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo;
 
  31 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.repository.VnfmJobExecutionRepository;
 
  32 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse;
 
  33 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfResponse;
 
  34 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.OperStatusVnfResponse;
 
  35 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.QueryVnfResponse;
 
  36 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.ScaleVnfResponse;
 
  37 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfResponse;
 
  38 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseDescriptor;
 
  39 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseHistoryList;
 
  40 import org.springframework.beans.factory.annotation.Autowired;
 
  41 import org.springframework.stereotype.Component;
 
  44 public class Cbam2DriverResponseConverter {
 
  47         private VnfmJobExecutionRepository jobDbManager;
 
  49         public InstantiateVnfResponse createRspConvert(CBAMCreateVnfResponse cbamResponse, Long jobId) {
 
  51                 InstantiateVnfResponse response = new InstantiateVnfResponse();
 
  52                 response.setJobId(jobId.longValue() + "");
 
  53                 response.setVnfInstanceId(cbamResponse.getId());
 
  58         public TerminateVnfResponse terminateRspConvert(CBAMTerminateVnfResponse cbamResponse) {
 
  59                 VnfmJobExecutionInfo jobInfo = new VnfmJobExecutionInfo();
 
  60                 jobInfo.setVnfInstanceId(cbamResponse.getId());
 
  61                 jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_TERMINATE);
 
  62                 jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_START);
 
  64                 VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.save(jobInfo);
 
  65                 Long jobId = jobInfo1.getJobId();
 
  66                 TerminateVnfResponse response = new TerminateVnfResponse();
 
  67                 response.setJobId(jobId.longValue() + "");
 
  71         public QueryVnfResponse queryRspConvert(CBAMQueryVnfResponse cbamResponse) {
 
  72                 QueryVnfResponse vnf = new QueryVnfResponse();
 
  73                 vnf.setVnfdId(cbamResponse.getVnfdId());
 
  74                 vnf.setVersion(cbamResponse.getVnfdVersion());
 
  75                 vnf.setVnfInstanceId(cbamResponse.getId());
 
  76                 vnf.setVnfInstanceName(cbamResponse.getName());
 
  77                 vnf.setVnfInstanceDescription(cbamResponse.getDescription());
 
  78                 vnf.setVnfPackageId(cbamResponse.getOnboardedVnfPkgInfoId());
 
  79                 vnf.setVnfProvider(cbamResponse.getVnfProvider());
 
  80                 vnf.setVnfStatus(cbamResponse.getInstantiationState());
 
  81                 vnf.setVnfType(cbamResponse.getVnfSoftwareVersion());
 
  85         public OperStatusVnfResponse operRspConvert(OperationExecution oper) {
 
  87                 OperStatusVnfResponse response = new OperStatusVnfResponse();
 
  89                 ResponseDescriptor er = new ResponseDescriptor();
 
  90                 if (oper.getStatus() == CommonEnum.OperationStatus.STARTED ) {
 
  91                         er.setStatusDescription("Vim is processing");
 
  92                         er.setStatus("started");
 
  94                         if(OperationType.INSTANTIATE == oper.getOperationType())
 
  96                                 progress = OperateTaskProgress.getInstantiateProgress();
 
  98                                 progress = OperateTaskProgress.getTerminateProgress();
 
 101                         er.setProgress("" + progress);
 
 102                         er.setResponseId("" +  + progress);
 
 103                 } else if (oper.getStatus() == CommonEnum.OperationStatus.FINISHED) {
 
 104                         er.setStatus("finished");
 
 105                         er.setProgress("100");
 
 106                         er.setResponseId("100");
 
 108                 }  else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) {
 
 109                         er.setStatus("processing");
 
 110                         er.setStatusDescription("Vim is processing");
 
 113                         if(OperationType.INSTANTIATE == oper.getOperationType())
 
 115                                 progress = OperateTaskProgress.getInstantiateProgress();
 
 117                                 progress = OperateTaskProgress.getTerminateProgress();
 
 120                         er.setProgress("" + progress);
 
 121                         er.setResponseId("" +  + progress);
 
 124                         er.setStatus("error"); 
 
 125                         er.setStatus("finished");
 
 126                         er.setProgress("100");
 
 127                         er.setResponseId("100");
 
 130                 er.setErrorCode("null");
 
 132                 response.setResponseDescriptor(er);
 
 136         public HealVnfResponse healRspConvert(CBAMHealVnfResponse cbamResponse) {
 
 137                 HealVnfResponse response = new HealVnfResponse();
 
 138                 response.setJobId("1");
 
 142         public ScaleVnfResponse scaleRspConvert(CBAMScaleVnfResponse cbamResponse) {
 
 143                 ScaleVnfResponse response = new ScaleVnfResponse();
 
 144                 response.setJobId("1");