/* * Copyright 2016-2017 Nokia Corporation * * 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. */ package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor; import java.util.ArrayList; import java.util.List; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OperationExecution; import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonConstants; import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.repository.VnfmJobExecutionRepository; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.OperStatusVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.QueryVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.ScaleVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseDescriptor; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ResponseHistoryList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class Cbam2DriverResponseConverter { @Autowired private VnfmJobExecutionRepository jobDbManager; public InstantiateVnfResponse createRspConvert(CBAMCreateVnfResponse cbamResponse, Long jobId) { InstantiateVnfResponse response = new InstantiateVnfResponse(); response.setJobId(jobId.longValue() + ""); response.setVnfInstanceId(cbamResponse.getId()); return response; } public TerminateVnfResponse terminateRspConvert(CBAMTerminateVnfResponse cbamResponse) { VnfmJobExecutionInfo jobInfo = new VnfmJobExecutionInfo(); jobInfo.setVnfInstanceId(cbamResponse.getId()); jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_TERMINATE); jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_START); VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.save(jobInfo); Long jobId = jobInfo1.getJobId(); TerminateVnfResponse response = new TerminateVnfResponse(); response.setJobId(jobId.longValue() + ""); return response; } public QueryVnfResponse queryRspConvert(CBAMQueryVnfResponse cbamResponse) { QueryVnfResponse vnf = new QueryVnfResponse(); vnf.setVnfdId(cbamResponse.getVnfdId()); vnf.setVersion(cbamResponse.getVnfdVersion()); vnf.setVnfInstanceId(cbamResponse.getId()); vnf.setVnfInstanceName(cbamResponse.getName()); vnf.setVnfInstanceDescription(cbamResponse.getDescription()); vnf.setVnfPackageId(cbamResponse.getOnboardedVnfPkgInfoId()); vnf.setVnfProvider(cbamResponse.getVnfProvider()); vnf.setVnfStatus(cbamResponse.getInstantiationState()); vnf.setVnfType(cbamResponse.getVnfSoftwareVersion()); return vnf; } public OperStatusVnfResponse operRspConvert(OperationExecution oper) { OperStatusVnfResponse response = new OperStatusVnfResponse(); response.setJobId(oper.getId()); ResponseDescriptor er = new ResponseDescriptor(); er.setProgress("1"); response.setProgress("1"); if (oper.getStatus() == CommonEnum.OperationStatus.STARTED ) { er.setStatus("started"); response.setStatus("started"); } else if (oper.getStatus() == CommonEnum.OperationStatus.FINISHED) { er.setStatus("finished"); response.setStatus("finished"); } else if (oper.getStatus() == CommonEnum.OperationStatus.FAILED) { er.setStatus("error"); response.setStatus("error"); } else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) { er.setStatus("processing"); response.setStatus("processing"); } else { er.setStatus("error"); response.setStatus("error"); } er.setStatusDescription(er.getStatus()); er.setErrorCode("1"); er.setResponseId("1"); response.setStatusDescription(er.getStatus()); response.setErrorCode("1"); response.setResponseId("1"); // List list = new ArrayList(); // ResponseHistoryList relist = new ResponseHistoryList(); // // TODO relist.setProgress(i); // relist.setStatus(er.getStatus()); // relist.setStatusDescription(""); // relist.setErrorCode(null); // relist.setResponseId(er.getResponseId()); // list.add(relist); // er.setResponseHistoryList(list); response.setResponseDescriptor(er); return response; } public HealVnfResponse healRspConvert(CBAMHealVnfResponse cbamResponse) { HealVnfResponse response = new HealVnfResponse(); response.setJobId("1"); return response; } public ScaleVnfResponse scaleRspConvert(CBAMScaleVnfResponse cbamResponse) { ScaleVnfResponse response = new ScaleVnfResponse(); response.setJobId("1"); return response; } }