From 6ad41e3ccd398a2721f41ad61c80b7bb03f7d127 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Mon, 31 Dec 2018 17:21:27 +0200 Subject: Merge from ECOMP's repository Main Features -------------- - Async-Instantiation jobs mechanism major update; still WIP (package `org.onap.vid.job`) - New features in View/Edit: Activate fabric configuration; show related networks; soft delete - Support AAI service-tree traversal (`AAIServiceTree`) - In-memory cache for SDC models and certain A&AI queries (`CacheProviderWithLoadingCache`) - Upgrade TOSCA Parser and add parsing options; fix malformed TOSCA models - Resolve Cloud-Owner values for MSO - Pass X-ONAP headers to MSO Infrastructure -------------- - Remove codehaus' jackson mapper; use soley fasterxml 2.9.7 - Surefire invokes both TestNG and JUnit tests - Support Kotlin source files - AaiController2 which handles errors in a "Spring manner" - Inline generated-sources and remove jsonschema2pojo Quality -------- - Cumulative bug fixes (A&AI API, UI timeouts, and many more) - Many Sonar issues cleaned-up - Some unused classes removed - Minor changes in vid-automation project, allowing some API verification to run Hard Merges ------------ - HTTP Clients (MSO, A&AI, WebConfig, OutgoingRequestHeadersTest) - Moved `package org.onap.vid.controllers` to `controller`, without plural -- just to keep semantic sync with ECOMP. Reference commit in ECOMP: 3d1141625 Issue-ID: VID-378 Change-Id: I9c8d1e74caa41815891d441fc0760bb5f29c5788 Signed-off-by: Ittay Stern --- .../vid/job/command/InProgressStatusCommand.java | 137 --------------------- 1 file changed, 137 deletions(-) delete mode 100644 vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusCommand.java (limited to 'vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusCommand.java') diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusCommand.java b/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusCommand.java deleted file mode 100644 index 6685a63d6..000000000 --- a/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusCommand.java +++ /dev/null @@ -1,137 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * VID - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2018 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.vid.job.command; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.ImmutableMap; -import io.joshworks.restclient.http.HttpResponse; -import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.onap.vid.job.Job.JobStatus; -import org.onap.vid.job.JobCommand; -import org.onap.vid.job.NextCommand; -import org.onap.vid.mso.MsoInterface; -import org.onap.vid.mso.rest.AsyncRequestStatus; -import org.onap.vid.services.AsyncInstantiationBusinessLogic; -import org.onap.vid.services.AuditService; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import javax.inject.Inject; -import java.util.Map; -import java.util.Objects; -import java.util.UUID; - - -@Component -@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class InProgressStatusCommand implements JobCommand { - - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); - - private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(InProgressStatusCommand.class); - - @Inject - private AsyncInstantiationBusinessLogic asyncInstantiationBL; - - @Inject - private MsoInterface restMso; - - @Inject - private AuditService auditService; - - private String requestId; - - private UUID jobUuid; - - public InProgressStatusCommand() { - } - - InProgressStatusCommand(UUID jobUuid, String requestId) { - init(jobUuid, requestId); - } - - InProgressStatusCommand(AsyncInstantiationBusinessLogic asyncInstantiationBusinessLogic, MsoInterface msoInterface, AuditService auditService, UUID jobUuid, String requestId) { - this(jobUuid, requestId); - this.asyncInstantiationBL = asyncInstantiationBusinessLogic; - this.restMso = msoInterface; - this.auditService = auditService; - } - - @Override - public NextCommand call() { - - try { - String path = asyncInstantiationBL.getOrchestrationRequestsPath() + "/" + requestId; - HttpResponse msoResponse = restMso.get(path, AsyncRequestStatus.class); - - - JobStatus jobStatus; - if (msoResponse.getStatus() >= 400 || msoResponse.getBody() == null) { - auditService.setFailedAuditStatusFromMso(jobUuid, requestId, msoResponse.getStatus(), Objects.toString(msoResponse.getBody())); - LOGGER.error(EELFLoggerDelegate.errorLogger, - "Failed to get orchestration status for {}. Status code: {}, Body: {}", - requestId, msoResponse.getStatus(), Objects.toString(msoResponse.getRawBody())); - return new NextCommand(JobStatus.IN_PROGRESS, this); - } else { - jobStatus = asyncInstantiationBL.calcStatus(msoResponse.getBody()); - } - - asyncInstantiationBL.auditMsoStatus(jobUuid, msoResponse.getBody().request); - - - if (jobStatus == JobStatus.FAILED) { - asyncInstantiationBL.handleFailedInstantiation(jobUuid); - } else { - asyncInstantiationBL.updateServiceInfoAndAuditStatus(jobUuid, jobStatus); - } - //in case of JobStatus.PAUSE we leave the job itself as IN_PROGRESS, for keep tracking job progress - if (jobStatus == JobStatus.PAUSE) { - return new NextCommand(JobStatus.IN_PROGRESS, this); - } - return new NextCommand(jobStatus, this); - } catch (javax.ws.rs.ProcessingException e) { - // Retry when we can't connect MSO during getStatus - LOGGER.error(EELFLoggerDelegate.errorLogger, "Cannot get orchestration status for {}, will retry: {}", requestId, e, e); - return new NextCommand(JobStatus.IN_PROGRESS, this); - } catch (RuntimeException e) { - LOGGER.error(EELFLoggerDelegate.errorLogger, "Cannot get orchestration status for {}, stopping: {}", requestId, e, e); - return new NextCommand(JobStatus.STOPPED, this); - } - } - - @Override - public InProgressStatusCommand init(UUID jobUuid, Map data) { - return init(jobUuid, (String) data.get("requestId")); - } - - private InProgressStatusCommand init(UUID jobUuid, String requestId) { - this.requestId = requestId; - this.jobUuid = jobUuid; - return this; - } - - @Override - public Map getData() { - return ImmutableMap.of("requestId", requestId); - } - -} -- cgit 1.2.3-korg