diff options
Diffstat (limited to 'src/main/java/org')
7 files changed, 51 insertions, 17 deletions
diff --git a/src/main/java/org/onap/sdc/tosca/parser/api/IEntityDetails.java b/src/main/java/org/onap/sdc/tosca/parser/api/IEntityDetails.java index c4393cc..15bff9c 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/api/IEntityDetails.java +++ b/src/main/java/org/onap/sdc/tosca/parser/api/IEntityDetails.java @@ -14,7 +14,7 @@ public interface IEntityDetails { * Retrieves entity instance template type. * @return {@link EntityTemplateType} enum entry describing given object type */ - EntityTemplateType getType(); + EntityTemplateType getEntityType(); /** * Retrieves entity instance name @@ -22,6 +22,11 @@ public interface IEntityDetails { String getName(); /** + * Retrieves entity Tosca type + */ + String getToscaType(); + + /** * Retrieves entity {@link Metadata} object */ Metadata getMetadata(); @@ -33,6 +38,12 @@ public interface IEntityDetails { Map<String, Property> getProperties(); /** + * Retrieves member names of the entity instance + * @return List of member names + */ + List<String> getMembers(); + + /** * Retrieves member nodes of the entity instance * @return List of member nodes entity objects */ @@ -72,5 +83,5 @@ public interface IEntityDetails { /** * Retrieves list of policy target entity instances (groups or node templates) */ - List<IEntityDetails> getTargetNodes(); + List<IEntityDetails> getTargetEntities(); }
\ No newline at end of file diff --git a/src/main/java/org/onap/sdc/tosca/parser/api/ISdcCsarHelper.java b/src/main/java/org/onap/sdc/tosca/parser/api/ISdcCsarHelper.java index 129f7b4..12edd55 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/api/ISdcCsarHelper.java +++ b/src/main/java/org/onap/sdc/tosca/parser/api/ISdcCsarHelper.java @@ -665,7 +665,7 @@ public interface ISdcCsarHelper { * SDC (node template) type, tosca type as well as optional customizationUUID and UUID * @param topologyTemplateQuery parameters of the topology template containing the above entity. * Includes SDC type of the container and optional customizationUUID - * @param isRecursive indicates if the search within the required topology template is recursive. + * @param isRecursive indicates if the search is recursive starting from the required topology template . * @return list of @{@link IEntityDetails} objects containing information about the found entities. * If either no entities found or the provided query is incorrect, an empty list is returned */ diff --git a/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetails.java b/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetails.java index 2567700..82e6fc6 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetails.java +++ b/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetails.java @@ -68,7 +68,7 @@ public abstract class EntityDetails implements IEntityDetails { } @Override - public List<IEntityDetails> getTargetNodes() { + public List<IEntityDetails> getTargetEntities() { return Collections.emptyList(); } @@ -87,6 +87,14 @@ public abstract class EntityDetails implements IEntityDetails { return pathBld.toString(); } + @Override + public String getToscaType() { + return entityTemplate.getType(); + } + + @Override + public List<String> getMembers() { return Collections.emptyList(); } + } diff --git a/src/main/java/org/onap/sdc/tosca/parser/elements/GroupEntityDetails.java b/src/main/java/org/onap/sdc/tosca/parser/elements/GroupEntityDetails.java index 32a91aa..2777ab5 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/elements/GroupEntityDetails.java +++ b/src/main/java/org/onap/sdc/tosca/parser/elements/GroupEntityDetails.java @@ -29,7 +29,7 @@ public class GroupEntityDetails extends EntityDetails { } @Override - public EntityTemplateType getType() { + public EntityTemplateType getEntityType() { return EntityTemplateType.GROUP; } @@ -42,4 +42,12 @@ public class GroupEntityDetails extends EntityDetails { public Metadata getMetadata() { return group.getMetadata(); } + + @Override + public List<String> getMembers() { + if (group.getMembers() != null) { + return group.getMembers(); + } + return super.getMembers(); + } } diff --git a/src/main/java/org/onap/sdc/tosca/parser/elements/NodeTemplateEntityDetails.java b/src/main/java/org/onap/sdc/tosca/parser/elements/NodeTemplateEntityDetails.java index ad3b1a0..5ee253d 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/elements/NodeTemplateEntityDetails.java +++ b/src/main/java/org/onap/sdc/tosca/parser/elements/NodeTemplateEntityDetails.java @@ -15,7 +15,7 @@ public class NodeTemplateEntityDetails extends EntityDetails { } @Override - public EntityTemplateType getType() { + public EntityTemplateType getEntityType() { return EntityTemplateType.NODE_TEMPLATE; } 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 7b97175..ab792d1 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 @@ -21,7 +21,7 @@ public class PolicyEntityDetails extends EntityDetails { } @Override - public EntityTemplateType getType() { + public EntityTemplateType getEntityType() { return EntityTemplateType.POLICY; } @@ -39,7 +39,7 @@ public class PolicyEntityDetails extends EntityDetails { } @Override - public List<IEntityDetails> getTargetNodes() { + public List<IEntityDetails> getTargetEntities() { if (policy.getTargetsType().equals(NODE_TEMPLATES_TARGET_TYPE)) { return policy.getTargetsList() .stream() diff --git a/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java b/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java index 1ae3471..01c72d4 100644 --- a/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java +++ b/src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java @@ -130,15 +130,22 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper { @Override public List<NodeTemplate> getPolicyTargetsFromOrigin(NodeTemplate nodeTemplate, String policyName) { - Optional<Policy> policyOpt = null; if(StringUtils.isNotEmpty(nodeTemplate.getName())){ - policyOpt = getNodeTemplateByName(nodeTemplate.getName()).getOriginComponentTemplate().getPolicies().stream().filter(p -> p.getName().equals(policyName)).findFirst(); - } - if(policyOpt.isPresent()){ - List<String> targets = policyOpt.get().getTargets(); - return nodeTemplate.getOriginComponentTemplate().getNodeTemplates() - .stream() - .filter(nt -> targets.contains(nt.getName())).collect(Collectors.toList()); + Optional<Policy> policyOpt = getNodeTemplateByName(nodeTemplate.getName()) + .getOriginComponentTemplate() + .getPolicies() + .stream() + .filter(p -> p.getName() + .equals(policyName)) + .findFirst(); + if(policyOpt.isPresent()){ + List<String> targets = policyOpt.get().getTargets(); + if (targets != null) { + return nodeTemplate.getOriginComponentTemplate().getNodeTemplates() + .stream() + .filter(nt -> targets.contains(nt.getName())).collect(Collectors.toList()); + } + } } return new ArrayList<>(); } @@ -178,7 +185,7 @@ public class SdcCsarHelperImpl implements ISdcCsarHelper { return new ArrayList<>(); return toscaTemplate.getPolicies() .stream() - .filter(p -> p.getTargets().contains(nodeTemplateName)) + .filter(p -> p.getTargets()!= null && p.getTargets().contains(nodeTemplateName)) .collect(toList()); } |