diff options
author | talio <tali.orenbach@amdocs.com> | 2017-11-12 16:12:35 +0200 |
---|---|---|
committer | talio <tali.orenbach@amdocs.com> | 2017-11-13 10:03:55 +0200 |
commit | ce889adae3f91a8296bf41ce5804a51483242b2a (patch) | |
tree | a2fffe0fdbb03b8774c40df9ac9d72e6f145b8da /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main | |
parent | dd1a401f81b7c90c340ab69288236763bad19e83 (diff) |
forwarder
implement toggling feature on forwarder
Issue-Id : SDC-653
Change-Id: I238ae82b6f1fd9fce58ab584acd362a6bafd0dff
Signed-off-by: talio <tali.orenbach@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main')
-rw-r--r-- | openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java index d401e4930b..895b3f9670 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java @@ -27,6 +27,7 @@ import org.openecomp.core.translator.datatypes.TranslatorOutput; import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; +import org.openecomp.sdc.common.togglz.ToggleableFeature; import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.core.validation.util.MessageContainerUtil; import org.openecomp.sdc.common.errors.CoreException; @@ -106,6 +107,7 @@ public class HeatToToscaUtil { protected static Logger logger = (Logger) LoggerFactory.getLogger(HeatToToscaUtil.class); protected static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private static final String forwarder = "forwarder"; /** @@ -1277,23 +1279,37 @@ public class HeatToToscaUtil { NodeType flatNodeType = getNodeTypeWithFlatHierarchy(type, serviceTemplate, context); - String capabilityKey; - List<String> capabilityMapping; + if (flatNodeType.getCapabilities() != null) { - for (Map.Entry<String, CapabilityDefinition> capabilityNodeEntry : flatNodeType - .getCapabilities() - .entrySet()) { - capabilityKey = capabilityNodeEntry.getKey() + "_" + templateName; - nodeTypeCapabilitiesDefinition.put(capabilityKey, capabilityNodeEntry.getValue().clone()); - capabilityMapping = new ArrayList<>(); - capabilityMapping.add(templateName); - capabilityMapping.add(capabilityNodeEntry.getKey()); - capabilitySubstitutionMapping.put(capabilityKey, capabilityMapping); - } + flatNodeType.getCapabilities() + .entrySet() + .stream() + .filter(capabilityNodeEntry -> shouldCapabilityNeedsToBeAdded(capabilityNodeEntry.getKey())) + .forEach(capabilityNodeEntry -> + addCapabilityToSubMapping( + templateName, capabilityNodeEntry, nodeTypeCapabilitiesDefinition, capabilitySubstitutionMapping)); } mdcDataDebugMessage.debugExitMessage(null, null); } + private static boolean shouldCapabilityNeedsToBeAdded(String capabilityKey) { + return !capabilityKey.contains(forwarder) || ToggleableFeature.FORWARDER_CAPABILITY.isActive(); + } + + private static void addCapabilityToSubMapping(String templateName, + Map.Entry<String, CapabilityDefinition> capabilityNodeEntry, + Map<String, CapabilityDefinition> nodeTypeCapabilitiesDefinition, + Map<String, List<String>> capabilitySubstitutionMapping) { + String capabilityKey; + List<String> capabilityMapping; + capabilityKey = capabilityNodeEntry.getKey() + "_" + templateName; + nodeTypeCapabilitiesDefinition.put(capabilityKey, capabilityNodeEntry.getValue().clone()); + capabilityMapping = new ArrayList<>(); + capabilityMapping.add(templateName); + capabilityMapping.add(capabilityNodeEntry.getKey()); + capabilitySubstitutionMapping.put(capabilityKey, capabilityMapping); + } + private static List<Map<String, RequirementDefinition>> getNodeTypeReqs( String type, String templateName, |