summaryrefslogtreecommitdiffstats
path: root/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java')
-rw-r--r--nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java102
1 files changed, 65 insertions, 37 deletions
diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java
index 7bb18efd..c153095b 100644
--- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java
+++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java
@@ -15,9 +15,6 @@
*/
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;
@@ -25,10 +22,12 @@ 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.cbam.bo.entity.OperationExecution.OperationType;
+import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv;
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.constant.ScaleType;
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.db.mapper.VnfmJobExecutionMapper;
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;
@@ -36,15 +35,19 @@ 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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Cbam2DriverResponseConverter {
+ private static final Logger logger = LoggerFactory.getLogger(Cbam2DriverResponseConverter.class);
+ @Autowired
+ private VnfmJobExecutionMapper jobDbManager;
@Autowired
- private VnfmJobExecutionRepository jobDbManager;
+ private AdaptorEnv adaptorEnv;
public InstantiateVnfResponse createRspConvert(CBAMCreateVnfResponse cbamResponse, Long jobId) {
@@ -61,7 +64,8 @@ public class Cbam2DriverResponseConverter {
jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_TERMINATE);
jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_START);
- VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.save(jobInfo);
+ jobDbManager.insert(jobInfo);
+ VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.findNewestJobInfo();
Long jobId = jobInfo1.getJobId();
TerminateVnfResponse response = new TerminateVnfResponse();
response.setJobId(jobId.longValue() + "");
@@ -82,51 +86,37 @@ public class Cbam2DriverResponseConverter {
return vnf;
}
- public OperStatusVnfResponse operRspConvert(OperationExecution oper) {
-
+ public OperStatusVnfResponse operRspConvert(OperationExecution oper, String jobId) {
OperStatusVnfResponse response = new OperStatusVnfResponse();
-
ResponseDescriptor er = new ResponseDescriptor();
- if (oper.getStatus() == CommonEnum.OperationStatus.STARTED ) {
+ if (oper.getStatus() == CommonEnum.OperationStatus.STARTED) {
er.setStatusDescription("Vim is processing");
er.setStatus("started");
- int progress;
- if(OperationType.INSTANTIATE == oper.getOperationType())
- {
- progress = OperateTaskProgress.getInstantiateProgress();
- } else {
- progress = OperateTaskProgress.getTerminateProgress();
- }
-
+ int progress = calculateProgress(oper, jobId);
+
er.setProgress("" + progress);
- er.setResponseId("" + + progress);
+ er.setResponseId("" + +progress);
} else if (oper.getStatus() == CommonEnum.OperationStatus.FINISHED) {
er.setStatus("finished");
er.setProgress("100");
er.setResponseId("100");
-
- } else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) {
+
+ } else if (oper.getStatus() == CommonEnum.OperationStatus.OTHER) {
er.setStatus("processing");
er.setStatusDescription("Vim is processing");
-
- int progress;
- if(OperationType.INSTANTIATE == oper.getOperationType())
- {
- progress = OperateTaskProgress.getInstantiateProgress();
- } else {
- progress = OperateTaskProgress.getTerminateProgress();
- }
-
+
+ int progress = calculateProgress(oper, jobId);
+
er.setProgress("" + progress);
- er.setResponseId("" + + progress);
-
+ er.setResponseId("" + +progress);
+
} else {
- er.setStatus("error");
+ er.setStatus("error");
er.setStatus("finished");
er.setProgress("100");
er.setResponseId("100");
}
-
+
er.setErrorCode("null");
response.setResponseDescriptor(er);
@@ -139,9 +129,47 @@ public class Cbam2DriverResponseConverter {
return response;
}
- public ScaleVnfResponse scaleRspConvert(CBAMScaleVnfResponse cbamResponse) {
+ public ScaleVnfResponse scaleRspConvert(CBAMScaleVnfResponse cbamResponse,ScaleType type) {
+ VnfmJobExecutionInfo jobInfo = new VnfmJobExecutionInfo();
+ jobInfo.setVnfInstanceId(cbamResponse.getId());
+ if (type.equals(ScaleType.SCALE_OUT)) {
+ jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_SCALE_OUT);
+ } else {
+ jobInfo.setVnfmInterfceName(CommonConstants.NSLCM_OPERATION_SCALE_IN);
+ }
+ jobInfo.setStatus(CommonConstants.CBAM_OPERATION_STATUS_START);
+
+ jobDbManager.insert(jobInfo);
+ VnfmJobExecutionInfo jobInfo1 = (VnfmJobExecutionInfo) jobDbManager.findNewestJobInfo();
+ Long jobId = jobInfo1.getJobId();
ScaleVnfResponse response = new ScaleVnfResponse();
- response.setJobId("1");
+
+ response.setJobId(jobId.longValue() + "");
return response;
}
+
+ public int calculateProgress(OperationExecution oper, String jobId) {
+ long nowTime = System.currentTimeMillis();
+ VnfmJobExecutionInfo jobInfo = jobDbManager.findOne(Long.parseLong(jobId));
+ int initialProgress = adaptorEnv.getInitialProgress();
+
+ if (OperationType.INSTANTIATE == oper.getOperationType()) {
+ double instantiateProgress = (nowTime - jobInfo.getOperateStartTime())
+ / adaptorEnv.getInstantiateTimeInterval();
+ initialProgress = (int) (instantiateProgress + initialProgress);
+ } else if (OperationType.TERMINATE == oper.getOperationType()) {
+ double terminateProgress = (nowTime - jobInfo.getOperateStartTime())
+ / adaptorEnv.getTerminateTimeInterval();
+ initialProgress = (int) (terminateProgress + initialProgress);
+ } else {
+ initialProgress = 0;
+ }
+ return initialProgress;
+
+ }
+
+ public void setAdaptorEnv(AdaptorEnv adaptorEnv) {
+ this.adaptorEnv = adaptorEnv;
+ }
+
}