Merge "added check for null object"
[so.git] / bpmn / so-bpmn-tasks / src / main / java / org / onap / so / bpmn / infrastructure / workflow / tasks / WorkflowActionExtractResourcesAAI.java
1 package org.onap.so.bpmn.infrastructure.workflow.tasks;
2
3 import java.util.List;
4 import java.util.Optional;
5
6 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
7 import org.onap.so.client.aai.AAIObjectType;
8 import org.onap.so.client.aai.entities.AAIResultWrapper;
9 import org.onap.so.client.aai.entities.Relationships;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.stereotype.Component;
13
14 @Component
15 public class WorkflowActionExtractResourcesAAI {
16         private static final Logger logger = LoggerFactory.getLogger(WorkflowActionExtractResourcesAAI.class);
17
18         public Optional<Configuration> extractRelationshipsConfiguration(Relationships relationships) {
19                 List<AAIResultWrapper> configurations = relationships.getByType(AAIObjectType.CONFIGURATION);
20                 for(AAIResultWrapper configWrapper : configurations) {
21                         Optional<Configuration> config = configWrapper.asBean(Configuration.class);
22                         if(config.isPresent()){
23                                 return config;
24                         }
25                 }
26                 return Optional.empty();
27         }
28
29         public Optional<Relationships> extractRelationshipsVnfc(Relationships relationships) {
30                 List<AAIResultWrapper> vnfcs = relationships.getByType(AAIObjectType.VNFC);
31                 for(AAIResultWrapper vnfcWrapper : vnfcs){
32                         if(vnfcWrapper.getRelationships().isPresent()){
33                                 return vnfcWrapper.getRelationships();
34                         }
35                 }
36                 return Optional.empty();
37         }
38 }