@Column(name = "id")
private String id;
- @Column(name = "serviceInstanceId")
+ @Column(name = "service_instance_id")
private String serviceInstanceId;
- @Column(name = "customerId")
+ @Column(name = "customer_id")
private String customerId;
- @Column(name = "serviceType")
+ @Column(name = "service_type")
private String serviceType;
- @Column(name = "serviceDomain")
+ @Column(name = "usecase_type")
private String serviceDomain;
- @Column(name = "operationId")
- private String operationId;
-
- @Column(name = "parentServiceInstanceId")
+ @Column(name = "parent_service_instance_id")
private String parentServiceInstanceId;
- @Column(name = "status")
- private String status;
+ @Column(name = "uuid")
+ private String uuid;
+
+ @Column(name = "invariant_uuid")
+ private String invariantUuuid;
+
+ public ServiceBean() {
+ }
+
+ public ServiceBean(String id, String serviceInstanceId, String customerId, String serviceType, String serviceDomain,
+ String parentServiceInstanceId, String uuid, String invariantUuuid) {
+ this.id = id;
+ this.serviceInstanceId = serviceInstanceId;
+ this.customerId = customerId;
+ this.serviceType = serviceType;
+ this.serviceDomain = serviceDomain;
+ this.parentServiceInstanceId = parentServiceInstanceId;
+ this.uuid = uuid;
+ this.invariantUuuid = invariantUuuid;
+ }
public String getId() {
return id;
this.serviceDomain = serviceDomain;
}
- public String getOperationId() {
- return operationId;
- }
-
- public void setOperationId(String operationId) {
- this.operationId = operationId;
- }
-
public String getParentServiceInstanceId() {
return parentServiceInstanceId;
}
this.parentServiceInstanceId = parentServiceInstanceId;
}
- public String getStatus() {
- return status;
+ public String getUuid() {
+ return uuid;
}
- public void setStatus(String status) {
- this.status = status;
+ public void setUuid(String uuid) {
+ this.uuid = uuid;
}
- public ServiceBean() {
+ public String getInvariantUuuid() {
+ return invariantUuuid;
}
- public ServiceBean(String id, String serviceInstanceId, String customerId, String serviceType, String serviceDomain,
- String operationId, String parentServiceInstanceId, String status) {
- this.id = id;
- this.serviceInstanceId = serviceInstanceId;
- this.customerId = customerId;
- this.serviceType = serviceType;
- this.serviceDomain = serviceDomain;
- this.operationId = operationId;
- this.parentServiceInstanceId = parentServiceInstanceId;
- this.status = status;
+ public void setInvariantUuuid(String invariantUuuid) {
+ this.invariantUuuid = invariantUuuid;
}
- @Override
- public String toString() {
- return "ServiceBean [id=" + id + ", serviceInstanceId=" + serviceInstanceId + ", customerId=" + customerId
- + ", serviceType=" + serviceType + ", serviceDomain=" + serviceDomain + ", operationId=" + operationId
- + ", parentServiceInstanceId=" + parentServiceInstanceId + ", status=" + status + "]";
- }
}
--- /dev/null
+/*
+ * Copyright (C) 2018 CMCC, Inc. and others. All rights reserved.
+ *
+ * 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.usecaseui.server.bean;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name="service_instance_operations")
+public class ServiceInstanceOperations implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name = "service_instance_id")
+ private String serviceInstanceId;
+
+ @Id
+ @Column(name = "operation_id")
+ private String operationId;
+
+ @Column(name = "operation_type")
+ private String operationType;
+
+ @Column(name = "operation_progress")
+ private String operationProgress;
+
+ @Column(name = "operation_result")
+ private String operationResult;
+
+ @Column(name = "start_time")
+ private String startTime;
+
+ @Column(name = "end_time")
+ private String endTime;
+
+ public ServiceInstanceOperations() {
+ }
+
+ public ServiceInstanceOperations(String serviceInstanceId, String operationId, String operationType,
+ String operationProgress, String operationResult, String startTime, String endTime) {
+ super();
+ this.serviceInstanceId = serviceInstanceId;
+ this.operationId = operationId;
+ this.operationType = operationType;
+ this.operationProgress = operationProgress;
+ this.operationResult = operationResult;
+ this.startTime = startTime;
+ this.endTime = endTime;
+ }
+
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ public void setServiceInstanceId(String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ }
+
+ public String getOperationId() {
+ return operationId;
+ }
+
+ public void setOperationId(String operationId) {
+ this.operationId = operationId;
+ }
+
+ public String getOperationType() {
+ return operationType;
+ }
+
+ public void setOperationType(String operationType) {
+ this.operationType = operationType;
+ }
+
+ public String getOperationProgress() {
+ return operationProgress;
+ }
+
+ public void setOperationProgress(String operationProgress) {
+ this.operationProgress = operationProgress;
+ }
+
+ public String getOperationResult() {
+ return operationResult;
+ }
+
+ public void setOperationResult(String operationResult) {
+ this.operationResult = operationResult;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((operationId == null) ? 0 : operationId.hashCode());
+ result = prime * result + ((serviceInstanceId == null) ? 0 : serviceInstanceId.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ServiceInstanceOperations other = (ServiceInstanceOperations) obj;
+ if (operationId == null) {
+ if (other.operationId != null)
+ return false;
+ } else if (!operationId.equals(other.operationId))
+ return false;
+ if (serviceInstanceId == null) {
+ if (other.serviceInstanceId != null)
+ return false;
+ } else if (!serviceInstanceId.equals(other.serviceInstanceId))
+ return false;
+ return true;
+ }
+}
--- /dev/null
+/*
+ * Copyright (C) 2018 CMCC, Inc. and others. All rights reserved.
+ *
+ * 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.usecaseui.server.bean;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name="sort_master")
+public class SortMaster implements Serializable{
+
+ @Id
+ @Column(name = "sort_type")
+ private String sortType;
+
+ @Id
+ @Column(name = "sort_code")
+ private String sortCode;
+
+
+ @Column(name = "sort_value")
+ private String sortValue;
+
+ @Id
+ @Column(name = "language")
+ private String language;
+
+ public SortMaster() {
+ }
+
+ public SortMaster(String sortType, String sortCode, String sortValue, String language) {
+ this.sortType = sortType;
+ this.sortCode = sortCode;
+ this.sortValue = sortValue;
+ this.language = language;
+ }
+
+ public String getSortType() {
+ return sortType;
+ }
+
+ public void setSortType(String sortType) {
+ this.sortType = sortType;
+ }
+
+ public String getSortCode() {
+ return sortCode;
+ }
+
+ public void setSortCode(String sortCode) {
+ this.sortCode = sortCode;
+ }
+
+ public String getSortValue() {
+ return sortValue;
+ }
+
+ public void setSortValue(String sortValue) {
+ this.sortValue = sortValue;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ @Override
+ public String toString() {
+ return "SortMaster [sortType=" + sortType + ", sortCode=" + sortCode + ", sortValue=" + sortValue
+ + ", language=" + language + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((language == null) ? 0 : language.hashCode());
+ result = prime * result + ((sortCode == null) ? 0 : sortCode.hashCode());
+ result = prime * result + ((sortType == null) ? 0 : sortType.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ SortMaster other = (SortMaster) obj;
+ if (language == null) {
+ if (other.language != null)
+ return false;
+ } else if (!language.equals(other.language))
+ return false;
+ if (sortCode == null) {
+ if (other.sortCode != null)
+ return false;
+ } else if (!sortCode.equals(other.sortCode))
+ return false;
+ if (sortType == null) {
+ if (other.sortType != null)
+ return false;
+ } else if (!sortType.equals(other.sortType))
+ return false;
+ return true;
+ }
+}
public static final String CONSTANT_SUCCESS="{\"status\":\"SUCCESS\"}";\r
\r
public static final String CONSTANT_FAILED="{\"status\":\"FAILED\"}";\r
+ \r
+ public static final String CREATING_CODE="1001";\r
+ \r
+ public static final String DELETING_CODE="1002";\r
+ \r
+ public static final String SCALING_CODE="1003";\r
+ \r
+ public static final String HEALING_CODE="1004";\r
+ \r
+ public static final String SUCCESS_CODE="2001";\r
+ \r
+ public static final String FAIL_CODE="2002";\r
+ \r
+ public static final String IN_PROGRESS_CODE="2003";\r
+ \r
+ public static final String ALARM_TOPIC="unauthenticated.SEC_FAULT_OUTPUT";\r
+ \r
+ public static final String PERFORMANCE_TOPIC="unauthenticated.SEC_MEASUREMENT_OUTPUT";\r
}\r
package org.onap.usecaseui.server.controller.lcm;
import org.onap.usecaseui.server.bean.ServiceBean;
+import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
+import org.onap.usecaseui.server.constant.Constant;
import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
+import org.onap.usecaseui.server.util.DateUtils;
import org.onap.usecaseui.server.util.UuiCommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import java.text.ParseException;
+
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ResponseBody
@RequestMapping(value = {"/uui-lcm/services"}, method = RequestMethod.POST , produces = "application/json")
- public ServiceOperation instantiateService(HttpServletRequest request){
+ public ServiceOperation instantiateService(HttpServletRequest request) throws ParseException{
String customerId = request.getParameter("customerId");
String serviceType = request.getParameter("serviceType");
String serviceDomain = request.getParameter("serviceDomain");
+ String uuid = request.getParameter("uuid");
+ String invariantUuuid = request.getParameter("invariantUuuid");
String parentServiceInstanceId = request.getParameter("parentServiceInstanceId");
- ServiceBean serviceBean = new ServiceBean(UuiCommonUtil.getUUID(),null,customerId,serviceType,serviceDomain,null,parentServiceInstanceId,null);
+ ServiceBean serviceBean = new ServiceBean(UuiCommonUtil.getUUID(),null,customerId,serviceType,serviceDomain,parentServiceInstanceId,uuid,invariantUuuid);
ServiceOperation serviceOperation = serviceLcmService.instantiateService(request);
- serviceBean.setServiceInstanceId(serviceOperation.getService().getServiceId());
- serviceBean.setOperationId(serviceOperation.getService().getOperationId());
+ String serviceId = serviceOperation.getService().getServiceId();
+ String operationId = serviceOperation.getService().getOperationId();
+ serviceBean.setServiceInstanceId(serviceId);
+ ServiceInstanceOperations serviceOpera = new ServiceInstanceOperations(serviceId,operationId,Constant.CREATING_CODE,"0",Constant.IN_PROGRESS_CODE,DateUtils.dateToString(DateUtils.now()),null);
serviceLcmService.saveOrUpdateServiceBean(serviceBean);
+ serviceLcmService.saveOrUpdateServiceInstanceOperation(serviceOpera);
return serviceOperation;
}
@ResponseBody
@RequestMapping(value = {"/uui-lcm/services/{serviceId}/operations/{operationId}"}, method = RequestMethod.GET , produces = "application/json")
- public OperationProgressInformation queryOperationProgress(@PathVariable(value="serviceId") String serviceId, @PathVariable(value="operationId") String operationId){
+ public OperationProgressInformation queryOperationProgress(HttpServletRequest request,@PathVariable(value="serviceId") String serviceId, @PathVariable(value="operationId") String operationId){
+ String operationType = request.getParameter("operationType");
+ String operationResult = Constant.IN_PROGRESS_CODE;
OperationProgressInformation operationProgressInformation =serviceLcmService.queryOperationProgress(serviceId, operationId);
- if(UuiCommonUtil.isNotNullOrEmpty(operationProgressInformation)&&UuiCommonUtil.isNotNullOrEmpty(operationProgressInformation.getOperationStatus())&&"CREATE".equals(operationProgressInformation.getOperationStatus().getOperation())){
- serviceLcmService.updateServiceInstanceStatusById(operationProgressInformation.getOperationStatus().getResult(), serviceId);
+ if(UuiCommonUtil.isNotNullOrEmpty(operationProgressInformation)&&UuiCommonUtil.isNotNullOrEmpty(operationProgressInformation.getOperationStatus())){
+ //serviceLcmService.updateServiceInstanceStatusById(operationProgressInformation.getOperationStatus().getResult(), serviceId);
+ int progress =operationProgressInformation.getOperationStatus().getProgress();
+ if(0<=progress&&progress<100){
+ operationResult=Constant.IN_PROGRESS_CODE;
+ }else if(progress==100){
+ operationResult=Constant.SUCCESS_CODE;
+ }
+ serviceLcmService.updateServiceInstanceOperation(serviceId,operationType,progress+"",operationResult);
}
return operationProgressInformation;
}
@ResponseBody
@RequestMapping(value = {"/uui-lcm/services/{serviceId}"}, method = RequestMethod.DELETE , produces = "application/json")
- public DeleteOperationRsp terminateService(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
- return serviceLcmService.terminateService(serviceId, request);
+ public DeleteOperationRsp terminateService(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request) throws ParseException{
+ DeleteOperationRsp deleteOperationRsp = serviceLcmService.terminateService(serviceId, request);
+ ServiceInstanceOperations serviceOpera = new ServiceInstanceOperations(serviceId,deleteOperationRsp.getOperationId(),Constant.DELETING_CODE,"0",Constant.IN_PROGRESS_CODE,DateUtils.dateToString(DateUtils.now()),null);
+ serviceLcmService.saveOrUpdateServiceInstanceOperation(serviceOpera);
+ return deleteOperationRsp;
}
/**
* @param serviceId
* @param request
* @return
+ * @throws ParseException
*/
@ResponseBody
@RequestMapping(value = {"/uui-lcm/services/scaleServices/{serviceId}"}, method = RequestMethod.POST , produces = "application/json")
- public SaveOrUpdateOperationRsp scaleServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
- return serviceLcmService.scaleService(serviceId, request);
+ public SaveOrUpdateOperationRsp scaleServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request) throws ParseException{
+ SaveOrUpdateOperationRsp saveOrUpdateOperationRsp =serviceLcmService.scaleService(serviceId, request);
+ ServiceInstanceOperations serviceOpera = new ServiceInstanceOperations(serviceId,saveOrUpdateOperationRsp.getOperationId(),Constant.SCALING_CODE,"0",Constant.IN_PROGRESS_CODE,DateUtils.dateToString(DateUtils.now()),null);
+ serviceLcmService.saveOrUpdateServiceInstanceOperation(serviceOpera);
+ return saveOrUpdateOperationRsp;
}
/**
* @param serviceId
* @param request
* @return
+ * @throws ParseException
*/
@ResponseBody
@RequestMapping(value = {"/uui-lcm/services/updateService/{serviceId}"}, method = RequestMethod.PUT , produces = "application/json")
- public SaveOrUpdateOperationRsp updateServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
- return serviceLcmService.updateService(serviceId, request);
+ public SaveOrUpdateOperationRsp updateServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request) throws ParseException{
+ SaveOrUpdateOperationRsp saveOrUpdateOperationRsp =serviceLcmService.scaleService(serviceId, request);
+ ServiceInstanceOperations serviceOpera = new ServiceInstanceOperations(serviceId,saveOrUpdateOperationRsp.getOperationId(),"UPDATING","0",Constant.IN_PROGRESS_CODE,DateUtils.dateToString(DateUtils.now()),null);
+ serviceLcmService.saveOrUpdateServiceInstanceOperation(serviceOpera);
+ return saveOrUpdateOperationRsp;
}
}
package org.onap.usecaseui.server.service.lcm;
import org.onap.usecaseui.server.bean.ServiceBean;
+import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
ServiceBean getServiceBeanByServiceInStanceId(String serviceInstanceId);
List<String> getServiceInstanceIdByParentId(String serviceInstanceId);
+
+ void saveOrUpdateServiceInstanceOperation(ServiceInstanceOperations serviceOperation);
+
+ void updateServiceInstanceOperation(String serviceInstanceId,String operationType,String progress,String operationResult);
+
+ ServiceInstanceOperations getServiceInstanceOperationById(String serviceId);
}
import javax.annotation.Resource;
import org.onap.usecaseui.server.bean.ServiceBean;
+import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
import org.onap.usecaseui.server.service.lcm.CustomerService;
import org.onap.usecaseui.server.service.lcm.ServiceInstanceService;
import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
JSONObject object = JSON.parseObject(serviceInstance+"");
String serviceInstanceId=object.get("service-instance-id").toString();
ServiceBean serviceBean = serviceLcmService.getServiceBeanByServiceInStanceId(serviceInstanceId);
+ ServiceInstanceOperations serviceInstanceOperations = serviceLcmService.getServiceInstanceOperationById(serviceInstanceId);
if(!UuiCommonUtil.isNotNullOrEmpty(serviceBean)){
continue;
}
String serviceDomain = serviceBean.getServiceDomain();
object.put("serviceDomain",serviceDomain);
- object.put("serviceStatus",serviceBean.getStatus());
- object.put("operationId",serviceBean.getOperationId());
+ object.put("operationResult",serviceInstanceOperations.getOperationResult());
+ object.put("operationId",serviceInstanceOperations.getOperationId());
+ object.put("operationType",serviceInstanceOperations.getOperationType());
if("SOTN".equals(serviceDomain)||"CCVPN".equals(serviceDomain)||"E2E Service".equals(serviceDomain)||"Network Service".equals(serviceDomain)){
List<String> parentIds = serviceLcmService.getServiceInstanceIdByParentId(serviceInstanceId);
List<String> parentServiceInstances = new ArrayList<>();
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
-import org.onap.usecaseui.server.bean.AlarmsHeader;
import org.onap.usecaseui.server.bean.ServiceBean;
+import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
import org.onap.usecaseui.server.service.lcm.domain.so.SOService;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
import org.onap.usecaseui.server.service.lcm.domain.so.exceptions.SOException;
-import org.onap.usecaseui.server.util.UuiCommonUtil;
+import org.onap.usecaseui.server.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Service;
import okhttp3.RequestBody;
import retrofit2.Response;
@Service("ServiceLcmService")
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
public class DefaultServiceLcmService implements ServiceLcmService {
private static final Logger logger = LoggerFactory.getLogger(DefaultServiceLcmService.class);
session.flush();
}catch (Exception e){
- logger.error("exception occurred while performing DefaultServiceLcmService updateServiceInstanceStatusByIdDetail."+e.getMessage());
+ logger.error("exception occurred while performing DefaultServiceLcmService updateServiceInstanceStatusById.Detail."+e.getMessage());
}
}
serviceBean = list.get(0);
}
}catch (Exception e){
- logger.error("exception occurred while performing DefaultServiceLcmService updateServiceInstanceStatusByIdDetail."+e.getMessage());
+ logger.error("exception occurred while performing DefaultServiceLcmService getServiceBeanByServiceInStanceId.Detail."+e.getMessage());
serviceBean = new ServiceBean();;
}
return serviceBean;
return list;
}
+
+ @Override
+ public void saveOrUpdateServiceInstanceOperation(ServiceInstanceOperations serviceOperation) {
+ try(Session session = getSession()){
+ if (null == serviceOperation) {
+ logger.error("DefaultServiceLcmService saveOrUpdateServiceBean serviceOperation is null!");
+ }
+ session.saveOrUpdate(serviceOperation);
+ session.flush();
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.error("exception occurred while performing DefaultServiceLcmService saveOrUpdateServiceInstanceOperation. Details:" + e.getMessage());
+ }
+ }
+
+ @Override
+ public void updateServiceInstanceOperation(String serviceInstanceId, String operationType, String progress,
+ String operationResult) {
+ List<ServiceInstanceOperations> list = new ArrayList<>();
+ try(Session session = getSession()) {
+ String hql="select a.* from service_instance_operations a where service_instance_id =:serviceId and operation_type =:operationType and start_time = (select max(start_time) from service_instance_operations where service_instance_id=:serviceInstanceId )";
+ Query q = session.createSQLQuery(hql).addEntity(ServiceInstanceOperations.class);
+ q.setString("serviceId",serviceInstanceId);
+ q.setString("serviceInstanceId",serviceInstanceId);
+ q.setString("operationType",operationType);
+ list = q.list();
+ ServiceInstanceOperations serviceOperation =list.get(0);
+ serviceOperation.setOperationResult(operationResult);
+ serviceOperation.setOperationProgress(progress);
+ if("100".equals(progress)){
+ serviceOperation.setEndTime(DateUtils.dateToString(DateUtils.now()));
+ }
+ session.saveOrUpdate(serviceOperation);
+ session.flush();
+
+ }catch (Exception e){
+ logger.error("exception occurred while performing DefaultServiceLcmService updateServiceInstanceOperation.Detail."+e.getMessage());
+ }
+ }
+
+ @Override
+ public ServiceInstanceOperations getServiceInstanceOperationById(String serviceId) {
+ ServiceInstanceOperations serviceOperation = null;
+ List<ServiceInstanceOperations> list = new ArrayList<>();
+ try(Session session = getSession()) {
+ String hql="select a.* from service_instance_operations a where service_instance_id =:serviceId and start_time = (select max(start_time) from service_instance_operations where service_instance_id=:serviceInstanceId)";
+ Query q = session.createSQLQuery(hql).addEntity(ServiceInstanceOperations.class);
+ q.setString("serviceId",serviceId);
+ q.setString("serviceInstanceId",serviceId);
+ list = q.list();
+ serviceOperation =list.get(0);
+ session.flush();
+
+ }catch (Exception e){
+ logger.error("exception occurred while performing DefaultServiceLcmService getServiceInstanceOperationById."+e.getMessage());
+ }
+ return serviceOperation;
+ }
}
public void testQueryOperationProgress() throws Exception {
String serviceId = "1";
String operationId = "1";
- controller.queryOperationProgress(serviceId, operationId);
+ HttpServletRequest request = mock(HttpServletRequest.class);
+ controller.queryOperationProgress(request,serviceId, operationId);
verify(service, times(1)).queryOperationProgress(serviceId, operationId);
}