X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vid-app-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fvid%2Fjob%2Fcommand%2FInProgressStatusService.java;h=3d1d78f8b09eb7c6337c415b36ba9fe0079c0197;hb=90cbfcabf6a73c466d3284191f2e2b6a472b41b6;hp=4799f008793f60ecb2a2e6895aed84db79eb4dd5;hpb=6ad41e3ccd398a2721f41ad61c80b7bb03f7d127;p=vid.git diff --git a/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusService.java b/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusService.java index 4799f0087..3d1d78f8b 100644 --- a/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusService.java +++ b/vid-app-common/src/main/java/org/onap/vid/job/command/InProgressStatusService.java @@ -1,3 +1,23 @@ +/*- + * ============LICENSE_START======================================================= + * VID + * ================================================================================ + * Copyright (C) 2017 - 2019 AT&T Intellectual Property. 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 org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; @@ -6,10 +26,12 @@ import org.onap.vid.job.impl.JobSharedData; import org.onap.vid.mso.RestMsoImplementation; import org.onap.vid.mso.RestObject; import org.onap.vid.mso.rest.AsyncRequestStatus; +import org.onap.vid.properties.Features; import org.onap.vid.services.AsyncInstantiationBusinessLogic; import org.onap.vid.services.AuditService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.togglz.core.manager.FeatureManager; import java.time.ZonedDateTime; import java.time.format.DateTimeParseException; @@ -28,30 +50,37 @@ public class InProgressStatusService { private final AuditService auditService; + private final FeatureManager featureManager; + @Autowired - public InProgressStatusService(AsyncInstantiationBusinessLogic asyncInstantiationBL, RestMsoImplementation restMso, AuditService auditService) { + public InProgressStatusService(AsyncInstantiationBusinessLogic asyncInstantiationBL, RestMsoImplementation restMso, AuditService auditService, FeatureManager featureManager) { this.asyncInstantiationBL = asyncInstantiationBL; this.restMso = restMso; this.auditService = auditService; + this.featureManager = featureManager; } public Job.JobStatus call(ExpiryChecker expiryChecker, JobSharedData sharedData, String requestId) { RestObject asyncRequestStatus = getAsyncRequestStatus(requestId); - asyncInstantiationBL.auditMsoStatus(sharedData.getRootJobId(), asyncRequestStatus.get().request); + auditService.auditMsoStatus(sharedData.getRootJobId(), asyncRequestStatus.get().request); Job.JobStatus jobStatus = asyncInstantiationBL.calcStatus(asyncRequestStatus.get()); ZonedDateTime jobStartTime = getZonedDateTime(asyncRequestStatus, requestId); jobStatus = expiryChecker.isExpired(jobStartTime) ? Job.JobStatus.FAILED : jobStatus; + asyncInstantiationBL.updateResourceInfo(sharedData, jobStatus, asyncRequestStatus.get()); return jobStatus; } - private RestObject getAsyncRequestStatus(String requestId) { - String path = asyncInstantiationBL.getOrchestrationRequestsPath()+"/"+requestId; + RestObject getAsyncRequestStatus(String requestId) { + String path = asyncInstantiationBL.getOrchestrationRequestsPath() + "/" + requestId + + (featureManager.isActive(Features.FLAG_1908_RESUME_MACRO_SERVICE) ? "?format=detail" : ""); RestObject msoResponse = restMso.GetForObject(path, AsyncRequestStatus.class); + if (msoResponse.getStatusCode() >= 400 || msoResponse.get() == null) { throw new BadResponseFromMso(msoResponse); } + return msoResponse; }