aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java')
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java b/src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java
index 39027c3..7b97175 100644
--- a/src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java
+++ b/src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java
@@ -1,17 +1,22 @@
package org.onap.sdc.tosca.parser.elements;
+import org.onap.sdc.tosca.parser.api.IEntityDetails;
import org.onap.sdc.tosca.parser.enums.EntityTemplateType;
import org.onap.sdc.toscaparser.api.EntityTemplate;
-import org.onap.sdc.toscaparser.api.NodeTemplate;
import org.onap.sdc.toscaparser.api.Policy;
import org.onap.sdc.toscaparser.api.elements.Metadata;
+import java.util.List;
+import java.util.stream.Collectors;
+
public class PolicyEntityDetails extends EntityDetails {
+ private static final String NODE_TEMPLATES_TARGET_TYPE = "node_templates";
+
private final Policy policy;
- PolicyEntityDetails(EntityTemplate entityTemplate, NodeTemplate parentNode) {
- super(entityTemplate, parentNode);
+ PolicyEntityDetails(EntityTemplate entityTemplate) {
+ super(entityTemplate);
policy = (Policy)getEntityTemplate();
}
@@ -24,4 +29,26 @@ public class PolicyEntityDetails extends EntityDetails {
public Metadata getMetadata() {
return policy.getMetaDataObj();
}
+
+ @Override
+ public List<String> getTargets() {
+ if (policy.getTargets() != null) {
+ return policy.getTargets();
+ }
+ return super.getTargets();
+ }
+
+ @Override
+ public List<IEntityDetails> getTargetNodes() {
+ if (policy.getTargetsType().equals(NODE_TEMPLATES_TARGET_TYPE)) {
+ return policy.getTargetsList()
+ .stream()
+ .map(o->EntityDetailsFactory.createEntityDetails(EntityTemplateType.NODE_TEMPLATE, (EntityTemplate)o))
+ .collect(Collectors.toList());
+ }
+ return policy.getTargetsList()
+ .stream()
+ .map(o->EntityDetailsFactory.createEntityDetails(EntityTemplateType.GROUP, (EntityTemplate)o))
+ .collect(Collectors.toList());
+ }
}