diff options
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/mso')
3 files changed, 55 insertions, 3 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogic.java b/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogic.java index 3b2cdb1bf..23c891fbf 100644 --- a/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogic.java +++ b/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogic.java @@ -26,6 +26,7 @@ import org.onap.vid.changeManagement.WorkflowRequestDetail; import org.onap.vid.controller.OperationalEnvironmentController; import org.onap.vid.model.SOWorkflowList; import org.onap.vid.model.SoftDeleteRequest; +import org.onap.vid.model.probes.ExternalComponentStatus; import org.onap.vid.mso.model.OperationalEnvironmentActivateInfo; import org.onap.vid.mso.model.OperationalEnvironmentDeactivateInfo; import org.onap.vid.mso.rest.OperationalEnvironment.OperationEnvironmentRequestDetails; @@ -141,4 +142,6 @@ public interface MsoBusinessLogic { MsoResponseWrapper2 activateFabricConfiguration(String serviceInstanceId, RequestDetails requestDetails); SOWorkflowList getWorkflowListByModelId(String modelVersionId); + + ExternalComponentStatus probeGetOrchestrationRequests(); } diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogicImpl.java b/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogicImpl.java index 64c405a39..c2ac51a40 100644 --- a/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogicImpl.java +++ b/vid-app-common/src/main/java/org/onap/vid/mso/MsoBusinessLogicImpl.java @@ -27,6 +27,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.joshworks.restclient.http.HttpResponse; +import org.apache.commons.collections4.ListUtils; +import org.jetbrains.annotations.NotNull; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.onap.portalsdk.core.util.SystemProperties; import org.onap.vid.changeManagement.ChangeManagementRequest; @@ -37,6 +39,9 @@ import org.onap.vid.exceptions.GenericUncheckedException; import org.onap.vid.model.RequestReferencesContainer; import org.onap.vid.model.SOWorkflowList; import org.onap.vid.model.SoftDeleteRequest; +import org.onap.vid.model.probes.ExternalComponentStatus; +import org.onap.vid.model.probes.HttpRequestMetadata; +import org.onap.vid.model.probes.StatusMetadata; import org.onap.vid.mso.model.CloudConfiguration; import org.onap.vid.mso.model.ModelInfo; import org.onap.vid.mso.model.OperationalEnvironmentActivateInfo; @@ -52,6 +57,7 @@ import org.onap.vid.mso.rest.RequestWrapper; import org.onap.vid.mso.rest.Task; import org.onap.vid.mso.rest.TaskList; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.togglz.core.manager.FeatureManager; @@ -404,7 +410,7 @@ public class MsoBusinessLogicImpl implements MsoBusinessLogic { } catch (IOException e) { throw new GenericUncheckedException(e); } - return requestList.getRequestList(); + return ListUtils.emptyIfNull(requestList.getRequestList()); } @@ -858,6 +864,38 @@ public class MsoBusinessLogicImpl implements MsoBusinessLogic { return msoClientInterface.addRelationshipToServiceInstance(requestDetails, addRelationshipsPath); } + + @Override + public ExternalComponentStatus probeGetOrchestrationRequests() { + String url = SystemProperties.getProperty( + MsoProperties.MSO_SERVER_URL) + "/" + SystemProperties.getProperty(MsoProperties.MSO_REST_API_GET_ORC_REQS); + long startTime = System.currentTimeMillis(); + ExternalComponentStatus externalComponentStatus; + + try { + RestObject<List<Request>> restObject = createRequestsList(getOrchestrationRequestsForDashboard()); + + StatusMetadata statusMetadata = new HttpRequestMetadata(new RestObjectWithRequestInfo(HttpMethod.GET, url, restObject), + "VID-SO communication works", System.currentTimeMillis() - startTime); + + externalComponentStatus = new ExternalComponentStatus(ExternalComponentStatus.Component.MSO, true, statusMetadata); + } catch (Exception e) { + StatusMetadata statusMetadata = new HttpRequestMetadata(HttpMethod.GET, HttpStatus.INTERNAL_SERVER_ERROR.value(), url, "", e.getMessage(), System.currentTimeMillis() - startTime); + externalComponentStatus = new ExternalComponentStatus(ExternalComponentStatus.Component.MSO, false, statusMetadata); + } + + return externalComponentStatus; + } + + @NotNull + private RestObject<List<Request>> createRequestsList(List<Request> orchestrationRequestsForDashboard) { + RestObject<List<Request>> restObject = new RestObject<>(); + restObject.set(orchestrationRequestsForDashboard); + restObject.setStatusCode(200); + return restObject; + } + + private void validateUpdateVnfConfig(RequestDetails requestDetails) { final String noValidPayloadMsg = "No valid payload in " + ChangeManagementRequest.CONFIG_UPDATE + " request"; diff --git a/vid-app-common/src/main/java/org/onap/vid/mso/RestObjectWithRequestInfo.java b/vid-app-common/src/main/java/org/onap/vid/mso/RestObjectWithRequestInfo.java index 84f204c6e..ed41bf264 100644 --- a/vid-app-common/src/main/java/org/onap/vid/mso/RestObjectWithRequestInfo.java +++ b/vid-app-common/src/main/java/org/onap/vid/mso/RestObjectWithRequestInfo.java @@ -3,13 +3,14 @@ * VID * ================================================================================ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nokia. 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. @@ -22,6 +23,8 @@ package org.onap.vid.mso; import org.springframework.http.HttpMethod; +import java.util.Objects; + public class RestObjectWithRequestInfo<T> { private final RestObject<T> restObject; @@ -38,6 +41,14 @@ public class RestObjectWithRequestInfo<T> { this.httpMethod = httpMethod; } + public RestObjectWithRequestInfo(HttpMethod httpMethod, String requestedUrl, RestObject<T> restObject) { + this.httpMethod = httpMethod; + this.requestedUrl = requestedUrl; + this.restObject = restObject; + this.httpCode = restObject.getStatusCode(); + this.rawData = restObject.getRaw(); + } + public RestObject<T> getRestObject() { return restObject; } |