X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vid-app-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvid%2Fservices%2FAuditServiceImpl.java;fp=vid-app-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvid%2Fservices%2FAuditServiceImpl.java;h=4f32eca858e23b318dd974d5326668da57cdc349;hb=226ef715d7afe3758fbc88c05cf4d752c6bed51b;hp=287a771d31566440d0e93df99281014c467bcc37;hpb=30eb0655f49fd3565d737b91146baf9ce4e02f9d;p=vid.git diff --git a/vid-app-common/src/main/java/org/onap/vid/services/AuditServiceImpl.java b/vid-app-common/src/main/java/org/onap/vid/services/AuditServiceImpl.java index 287a771d3..4f32eca85 100644 --- a/vid-app-common/src/main/java/org/onap/vid/services/AuditServiceImpl.java +++ b/vid-app-common/src/main/java/org/onap/vid/services/AuditServiceImpl.java @@ -30,7 +30,8 @@ import org.onap.vid.mso.*; import org.onap.vid.mso.rest.AsyncRequestStatus; import org.onap.vid.mso.rest.AsyncRequestStatusList; import org.springframework.stereotype.Service; - +import java.text.MessageFormat; +import org.apache.commons.lang3.StringUtils; import javax.inject.Inject; import java.util.List; import java.util.Objects; @@ -59,13 +60,13 @@ public class AuditServiceImpl implements AuditService{ @Override public List getAuditStatusFromMsoByRequestId(UUID jobId, UUID requestId) { - String filter = "requestId:EQUALS:" + requestId; + String filter = "requestId:EQUALS:" + requestId + "&format=statusDetail"; return getAuditStatusFromMso(jobId, filter, null); } @Override public List getAuditStatusFromMsoByInstanceId(JobAuditStatus.ResourceTypeFilter resourceTypeFilter, UUID instanceId, UUID jobId) { - String filter = resourceTypeFilter.getFilterBy() + ":EQUALS:" + instanceId; + String filter = resourceTypeFilter.getFilterBy() + ":EQUALS:" + instanceId + "&format=statusDetail"; return getAuditStatusFromMso(jobId, filter, instanceId); } @@ -156,10 +157,131 @@ public class AuditServiceImpl implements AuditService{ protected List convertMsoResponseStatusToJobAuditStatus(List msoStatuses, String defaultName){ return msoStatuses.stream().map(status -> - convertAsyncRequestStatusToJobAuditStatus(status, defaultName) + convertAsyncRequestStatusToJobAuditStatusAdditionalInfo(status, defaultName) ).collect(Collectors.toList()); } + private JobAuditStatus convertAsyncRequestStatusToJobAuditStatusAdditionalInfo(AsyncRequestStatus status, String defaultName) { + if (status == null) { + return null; + } + UUID requestId = null; + String instanceName = defaultName; + String jobStatus = null; + String additionalInfo = null; + String finishTime = null; + String instanceType = null; + String modelType = ""; + String startTime = null; + AsyncRequestStatus.Request request = status.request; + if (request != null) { + if (request.requestId != null) { + requestId = UUID.fromString(request.requestId); + } + instanceName = extractInstanceName(instanceName, request); + instanceType = request.requestType; + if (request.requestDetails != null && request.requestDetails.modelInfo != null) { + modelType = request.requestDetails.modelInfo.modelType; + } + startTime = request.startTime; + if (request.requestStatus != null) { + jobStatus = request.requestStatus.getRequestState(); + additionalInfo = buildAdditionalInfo(request); + + if (!request.requestStatus.getAdditionalProperties().isEmpty() && + request.requestStatus.getAdditionalProperties().get("finishTime") != null) { + finishTime = request.requestStatus.getAdditionalProperties().get("finishTime").toString(); + } else { + finishTime = request.requestStatus.getTimestamp(); + } + } + } + return new JobAuditStatus(requestId, instanceName, modelType, instanceType, startTime, finishTime, + jobStatus, additionalInfo); + } + private String buildAdditionalInfo(AsyncRequestStatus.Request request) { + String source = ""; + String statusMessage = ""; + String flowStatus = ""; + String subscriptionServiceType = ""; + String alacarte = ""; + String testApi = ""; + String projectName = ""; + String owningEntityId = ""; + String owningEntityName = ""; + String requestScope = ""; + String tenantId = ""; + String tenantName = ""; + String cloudOwner = ""; + String platformName = ""; + String lineOfBusiness = ""; + MessageFormat mfBasedOnService = null; + String otherInfo = ""; + MessageFormat mf = new MessageFormat("{0}" + + "{1}" + + "{2}" + + "{3}" + + "{4}" + + "{5}"+ + "{6}"); + requestScope = request.requestScope; + statusMessage = request.requestStatus != null ? "StatusMessage:"+request.requestStatus.getStatusMessage()+ "
": ""; + if(request.requestDetails != null && request.requestDetails.requestInfo != null) { + source = "Source: "+request.requestDetails.requestInfo.source + "
"; + } + if(request.requestStatus != null && request.requestStatus.getFlowStatus() != null) { + flowStatus = "FlowStatus: "+request.requestStatus.getFlowStatus()+ "
"; + } + if(request.requestDetails != null && request.requestDetails.requestParameters != null && + request.requestDetails.requestParameters.subscriptionServiceType != null) { + subscriptionServiceType = "SubscriptionServiceType: "+request.requestDetails.requestParameters.subscriptionServiceType+ "
"; + } + if(request.requestDetails != null && request.requestDetails.requestParameters != null && + request.requestDetails.requestParameters.aLaCarte != null) { + alacarte = "Alacarte: "+request.requestDetails.requestParameters.aLaCarte+ "
"; + } + if(request.requestDetails != null && request.requestDetails.requestParameters != null && + request.requestDetails.requestParameters.testApi != null) { + testApi = "TestAPI: "+request.requestDetails.requestParameters.testApi+ "
"; + } + + if(request.requestDetails != null) { + if("service".equals(requestScope)) { + mfBasedOnService = new MessageFormat("ProjectName: {0}
" + + "OwningEntityId: {1}
" + + "OwningEntityName: {2}
"); + projectName = request.requestDetails.project != null ? request.requestDetails.project.projectName : ""; + owningEntityId = request.requestDetails.owningEntity != null ? request.requestDetails.owningEntity.owningEntityId : ""; + owningEntityName = request.requestDetails.owningEntity != null ? request.requestDetails.owningEntity.owningEntityName : ""; + Object[] arr1 = new Object[]{projectName, owningEntityId, owningEntityName}; + otherInfo = mfBasedOnService.format(arr1); + } else if("vnf".equals(requestScope)) { + mfBasedOnService = new MessageFormat("TenantId: {0}
" + + "TenantName: {1}
" + + "CloudOwner: {2}
" + + "PlatformName: {3}
" + + "LineOfBusiness: {4}
"); + tenantId = request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.tenantId : ""; + tenantName= request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.tenantName : ""; + cloudOwner= request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.cloudOwner : ""; + platformName= request.requestDetails.platform != null ? request.requestDetails.platform.platformName : ""; + lineOfBusiness= request.requestDetails.lineOfBusiness != null ? request.requestDetails.lineOfBusiness.lineOfBusinessName : ""; + Object[] arr2 = new Object[]{tenantId, tenantName, cloudOwner,platformName,lineOfBusiness}; + otherInfo = mfBasedOnService.format(arr2); + } else if("vfModule".equals(requestScope)) { + mfBasedOnService = new MessageFormat("TenantId: {0}
" + + "TenantName: {1}
" + + "CloudOwner: {2}
"); + tenantId = request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.tenantId : ""; + tenantName= request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.tenantName : ""; + cloudOwner= request.requestDetails.cloudConfiguration != null ? request.requestDetails.cloudConfiguration.cloudOwner : ""; + Object[] arr2 = new Object[]{tenantId, tenantName, cloudOwner}; + otherInfo = mfBasedOnService.format(arr2); + } + } + Object[] objArray = {source, statusMessage, flowStatus, subscriptionServiceType, alacarte, testApi, otherInfo}; + return StringUtils.chomp(mf.format(objArray)); + } private JobAuditStatus convertAsyncRequestStatusToJobAuditStatus(AsyncRequestStatus status, String defaultName){ if (status == null) { return null;