summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java37
1 files changed, 32 insertions, 5 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java
index 3fd5297439..6c4c5fafe1 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CapabiltyRequirementConvertor.java
@@ -122,7 +122,7 @@ public class CapabiltyRequirementConvertor {
if (prop.getSchema() != null && prop.getSchema().getProperty() != null) {
innerType = prop.getSchema().getProperty().getType();
}
- Object convertedValue = PropertyConvertor.getInstance().convertToToscaObject(propertyType, prop.getName(), prop.getValue(), innerType, dataTypes);
+ Object convertedValue = PropertyConvertor.getInstance().convertToToscaObject(propertyType, prop.getValue(), innerType, dataTypes);
return convertedValue;
}
@@ -183,9 +183,19 @@ public class CapabiltyRequirementConvertor {
if (requirements != null) {
for (Map.Entry<String, List<RequirementDefinition>> entry : requirements.entrySet()) {
entry.getValue().stream().forEach(r -> {
- String fullReqName = getRequirementPath(r);
+ String fullReqName;
+ String sourceCapName;
+ if(ToscaUtils.isComplexVfc(component)){
+ fullReqName = r.getName();
+ sourceCapName = getSourceCvfcDataTypeName(r.getName(), r.getOwnerName());
+ } else {
+ fullReqName = getRequirementPath(r);
+ sourceCapName = getSubPathByFirstDelimiterAppearance(fullReqName);
+ }
log.debug("the requirement {} belongs to resource {} ", fullReqName, component.getUniqueId());
- toscaRequirements.put(fullReqName, new String[]{r.getOwnerName(), getSubPathByFirstDelimiterAppearance(fullReqName)});
+ if(sourceCapName!= null){
+ toscaRequirements.put(fullReqName, new String[]{r.getOwnerName(), sourceCapName});
+ }
});
log.debug("Finish convert Requirements for node type");
}
@@ -195,6 +205,13 @@ public class CapabiltyRequirementConvertor {
return toscaRequirements;
}
+ private String getSourceCvfcDataTypeName(String name, String ownerName) {
+ if(name.contains(ownerName)){
+ return name.substring(0, name.length() - ownerName.length() - 1);
+ }
+ return null;
+ }
+
private String getRequirementPath(RequirementDefinition r) {
List<String> pathArray = Lists.reverse(r.getPath().stream()
.map(path -> ValidationUtils.normalizeComponentInstanceName(getSubPathByLastDelimiterAppearance(path)))
@@ -254,9 +271,19 @@ public class CapabiltyRequirementConvertor {
if (capabilities != null) {
for (Map.Entry<String, List<CapabilityDefinition>> entry : capabilities.entrySet()) {
entry.getValue().stream().forEach(c -> {
- String fullCapName = getCapabilityPath(c);
+ String fullCapName;
+ String sourceReqName;
+ if(ToscaUtils.isComplexVfc(component)){
+ fullCapName = c.getName();
+ sourceReqName = getSourceCvfcDataTypeName(c.getName(), c.getOwnerName());
+ } else {
+ fullCapName = getCapabilityPath(c);
+ sourceReqName = getSubPathByFirstDelimiterAppearance(fullCapName);
+ }
log.debug("the capabilty {} belongs to resource {} ", fullCapName, component.getUniqueId());
- toscaCapabilities.put(fullCapName, new String[]{c.getOwnerName(), getSubPathByFirstDelimiterAppearance(fullCapName)});
+ if(sourceReqName!= null){
+ toscaCapabilities.put(fullCapName, new String[]{c.getOwnerName(), sourceReqName});
+ }
});
}
} else {