*/
package org.onap.usecaseui.server.controller.lcm;
+import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.onap.usecaseui.server.bean.ServiceBean;
+import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
import org.onap.usecaseui.server.bean.lcm.VfNsPackageInfo;
+import org.onap.usecaseui.server.constant.Constant;
import org.onap.usecaseui.server.service.lcm.PackageDistributionService;
import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.SDCServiceTemplate;
import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.DistributionResult;
import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Job;
import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.JobStatus;
+import org.onap.usecaseui.server.util.DateUtils;
import org.onap.usecaseui.server.util.UuiCommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public JobStatus getNsLcmJobStatus(@PathVariable(value="jobId") String jobId, HttpServletRequest request){
String responseId = request.getParameter("responseId");
String serviceInstanceId = request.getParameter("serviceInstanceId");
- JobStatus jobStatus = packageDistributionService.getNsLcmJobStatus(jobId, responseId);
+ String operationType = request.getParameter("operationType");
+ JobStatus jobStatus = packageDistributionService.getNsLcmJobStatus(serviceInstanceId,jobId, responseId,operationType);
if(UuiCommonUtil.isNotNullOrEmpty(jobStatus)&&UuiCommonUtil.isNotNullOrEmpty(jobStatus.getResponseDescriptor())&&UuiCommonUtil.isNotNullOrEmpty(jobStatus.getResponseDescriptor().getProgress())){
String processNum = jobStatus.getResponseDescriptor().getProgress();
- String status="processing";
+ String operationResult = Constant.IN_PROGRESS_CODE;
if(Integer.parseInt(processNum)==100){
- status = "finished";
+ operationResult = Constant.SUCCESS_CODE;
}else if(Integer.parseInt(processNum)>100){
- status="error";
- }else{
- status="processing";
+ operationResult=Constant.FAIL_CODE;
}
- serviceLcmService.updateServiceInstanceStatusById(status,serviceInstanceId);
+ serviceLcmService.updateServiceInstanceOperation(serviceInstanceId,operationType,processNum,operationResult);
}
return jobStatus;
+
}
@ResponseBody
}
@RequestMapping(value = {"/uui-lcm/instantiateNetworkServiceInstance"}, method = RequestMethod.POST , produces = "application/json")
- public String instantiateNetworkServiceInstance(HttpServletRequest request){
+ public String instantiateNetworkServiceInstance(HttpServletRequest request) throws ParseException{
String customerId = request.getParameter("customerId");
String serviceType = request.getParameter("serviceType");
String serviceDomain = request.getParameter("serviceDomain");
String object = packageDistributionService.instantiateNetworkServiceInstance(request,ns_instance_id);
JSONObject jobObject = JSONObject.parseObject(object);
String jobId = jobObject.getString("jobId");
- ServiceBean serviceBean = new ServiceBean(UuiCommonUtil.getUUID(),ns_instance_id,customerId,serviceType,serviceDomain,jobId,null,null);
+ ServiceBean serviceBean = new ServiceBean(UuiCommonUtil.getUUID(),ns_instance_id,customerId,serviceType,serviceDomain,null,null,null);
+ ServiceInstanceOperations serviceOpera = new ServiceInstanceOperations(ns_instance_id,jobId,Constant.CREATING_CODE,"0",Constant.IN_PROGRESS_CODE,DateUtils.dateToString(DateUtils.now()),null);
+ serviceLcmService.saveOrUpdateServiceInstanceOperation(serviceOpera);
serviceLcmService.saveOrUpdateServiceBean(serviceBean);
return object;
}
JobStatus getJobStatus(String jobId, String responseId);
- JobStatus getNsLcmJobStatus(String jobId, String responseId);
+ JobStatus getNsLcmJobStatus(String serviceInstanceId,String jobId, String responseId,String operationType);
DistributionResult deleteNsPackage(String csarId);
}
@Override
- public JobStatus getNsLcmJobStatus(String jobId, String responseId) {
- try {
- Response<JobStatus> response = vfcService.getNsLcmJobStatus(jobId, responseId).execute();
- if (response.isSuccessful()) {
- return response.body();
- } else {
- logger.info(String.format("Can not get Job status[code=%s, message=%s]", response.code(), response.message()));
- throw new VfcException("VFC service getNsLcmJobStatus is not available!");
- }
- } catch (IOException e) {
- throw new VfcException("VFC service getNsLcmJobStatus is not available!", e);
+ public JobStatus getNsLcmJobStatus(String serviceInstanceId,String jobId, String responseId,String operationType) { try {
+ Response<JobStatus> response = vfcService.getNsLcmJobStatus(jobId, responseId).execute();
+ if (response.isSuccessful()) {
+ return response.body();
+ } else {
+ logger.info(String.format("Can not get Job status[code=%s, message=%s]", response.code(), response.message()));
+ throw new VfcException("VFC service getNsLcmJobStatus is not available!");
}
- }
+ } catch (IOException e) {
+ throw new VfcException("VFC service getNsLcmJobStatus is not available!", e);
+ }}
@Override
public DistributionResult deleteNsPackage(String csarId) {
import static org.mockito.Mockito.*;
import java.io.IOException;
+import java.text.ParseException;
public class PackageDistributionControllerTest {
public void testGetNsLcmJobStatus() throws IOException {
String csarId = "1";
String responseId="1";
+ String operationType="1";
+ String jobId="1";
HttpServletRequest request = mockRequest();
controller.getNsLcmJobStatus(csarId,request);
- verify(service, times(1)).getNsLcmJobStatus(csarId,responseId);
+ verify(service, times(1)).getNsLcmJobStatus(csarId,responseId,operationType,jobId);
}
@Test
}
@Test
- public void testInstantiateNetworkServiceInstance() throws IOException {
+ public void testInstantiateNetworkServiceInstance() throws IOException, ParseException {
String ns_instance_id="1";
HttpServletRequest request = mockRequest();
controller.instantiateNetworkServiceInstance(request);
VfcService vfcService = mock(VfcService.class);
String jobId = "1";
String responseId = "1";
+ String serviceId= "1";
+ String operationType= "1";
JobStatus jobStatus = new JobStatus();
when(vfcService.getNsLcmJobStatus(jobId, responseId)).thenReturn(successfulCall(jobStatus));
PackageDistributionService service = new DefaultPackageDistributionService(null, vfcService);
- Assert.assertSame(jobStatus, service.getNsLcmJobStatus(jobId, responseId));
+ Assert.assertSame(jobStatus, service.getNsLcmJobStatus(serviceId,jobId, responseId,operationType));
}
@Test(expected = VfcException.class)
VfcService vfcService = mock(VfcService.class);
String jobId = "1";
String responseId = "1";
+ String serviceId= "1";
+ String operationType= "1";
when(vfcService.getNsLcmJobStatus(jobId, responseId)).thenReturn(failedCall("VFC is not available!"));
PackageDistributionService service = new DefaultPackageDistributionService(null, vfcService);
- service.getNsLcmJobStatus(jobId, responseId);
+ service.getNsLcmJobStatus(serviceId,jobId, responseId,operationType);
}
@Test(expected = VfcException.class)
VfcService vfcService = mock(VfcService.class);
String jobId = "1";
String responseId = "1";
+ String serviceId= "1";
+ String operationType= "1";
when(vfcService.getNsLcmJobStatus(jobId, responseId)).thenReturn(emptyBodyCall());
PackageDistributionService service = new DefaultPackageDistributionService(null, vfcService);
- service.getNsLcmJobStatus(jobId, responseId);
+ service.getNsLcmJobStatus(serviceId,jobId, responseId,operationType);
}
@Test