1 package org.openecomp.sdc.be.components.impl.version;
3 import org.openecomp.sdc.be.dao.api.ActionStatus;
4 import org.openecomp.sdc.be.model.Component;
5 import org.openecomp.sdc.be.model.ComponentInstance;
6 import org.slf4j.Logger;
7 import org.slf4j.LoggerFactory;
9 import java.util.Iterator;
10 import java.util.List;
12 @org.springframework.stereotype.Component
13 public class PostChangeVersionOperationOrchestrator {
15 private static final Logger log = LoggerFactory.getLogger(PostChangeVersionOperationOrchestrator.class);
16 private final List<PostChangeVersionOperation> postChangeVersionOperations;
18 public PostChangeVersionOperationOrchestrator(List<PostChangeVersionOperation> postChangeVersionOperations) {
19 this.postChangeVersionOperations = postChangeVersionOperations;
22 public ActionStatus doPostChangeVersionOperations(Component container, ComponentInstance prevVersion, ComponentInstance newVersion) {
23 log.debug("#doPostChangeVersionOperations - starting post change version operations for component {}. from instance {} to instance {}", container.getUniqueId(), prevVersion.getUniqueId(), newVersion.getUniqueId());
24 ActionStatus postOperationsResult = ActionStatus.OK;
25 Iterator<PostChangeVersionOperation> postChangeVersionIter = postChangeVersionOperations.iterator();
26 while(postChangeVersionIter.hasNext() && postOperationsResult == ActionStatus.OK) {
27 postOperationsResult = postChangeVersionIter.next().onChangeVersion(container, prevVersion, newVersion);
29 return postOperationsResult;