aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap
diff options
context:
space:
mode:
authorManzon, Inna (im453s) <im453s@intl.att.com>2019-01-22 10:45:12 +0200
committerManzon, Inna (im453s) <im453s@intl.att.com>2019-01-22 14:16:31 +0200
commit8e4f8425e2a0bb7a9e6cadf48537bc93d4680e25 (patch)
treeb99cad4bf656b00a05c5a489dc7a6e0e7dfa74b1 /src/main/java/org/onap
parentf88cee9d9e7e77dfdea743928199472dad7bde82 (diff)
Fix NPE, add getters to IEntityDetails
Change-Id: Ia150f003fade5a276d785b2be90a8d9f63ab9f4e Issue-ID: SDC-2057 Signed-off-by: Manzon, Inna (im453s) <im453s@intl.att.com>
Diffstat (limited to 'src/main/java/org/onap')
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/api/IEntityDetails.java15
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/api/ISdcCsarHelper.java2
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetails.java10
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/elements/GroupEntityDetails.java10
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/elements/NodeTemplateEntityDetails.java2
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/elements/PolicyEntityDetails.java4
-rw-r--r--src/main/java/org/onap/sdc/tosca/parser/impl/SdcCsarHelperImpl.java25
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());
}