summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java120
1 files changed, 36 insertions, 84 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java
index cd8e3764e2..e2a39e2bca 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/NovaToVolResourceConnection.java
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation;
import static org.openecomp.sdc.translator.services.heattotosca.HeatToToscaLogConstants.LOG_UNSUPPORTED_VOL_ATTACHMENT_VOLUME_REQUIREMENT_CONNECTION;
@@ -26,7 +25,6 @@ import java.util.Objects;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-
import org.apache.commons.collections4.CollectionUtils;
import org.onap.sdc.tosca.datatypes.model.NodeTemplate;
import org.onap.sdc.tosca.datatypes.model.NodeType;
@@ -53,8 +51,7 @@ import org.openecomp.sdc.translator.services.heattotosca.helper.VolumeTranslatio
class NovaToVolResourceConnection extends ResourceConnectionUsingRequirementHelper {
- NovaToVolResourceConnection(ResourceTranslationBase resourceTranslationBase,
- TranslateTo translateTo, FileData nestedFileData,
+ NovaToVolResourceConnection(ResourceTranslationBase resourceTranslationBase, TranslateTo translateTo, FileData nestedFileData,
NodeTemplate substitutionNodeTemplate, NodeType nodeType) {
super(resourceTranslationBase, translateTo, nestedFileData, substitutionNodeTemplate, nodeType);
}
@@ -62,36 +59,27 @@ class NovaToVolResourceConnection extends ResourceConnectionUsingRequirementHelp
@Override
boolean isDesiredNodeTemplateType(NodeTemplate nodeTemplate) {
ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl();
- ToscaServiceModel toscaServiceModel =
- HeatToToscaUtil.getToscaServiceModel(translateTo.getContext());
+ ToscaServiceModel toscaServiceModel = HeatToToscaUtil.getToscaServiceModel(translateTo.getContext());
return toscaAnalyzerService.isTypeOf(nodeTemplate, ToscaNodeType.NOVA_SERVER,
- translateTo.getContext().getTranslatedServiceTemplates()
- .get(translateTo.getResource().getType()), toscaServiceModel);
+ translateTo.getContext().getTranslatedServiceTemplates().get(translateTo.getResource().getType()), toscaServiceModel);
}
@Override
List<Predicate<RequirementDefinition>> getPredicatesListForConnectionPoints() {
ArrayList<Predicate<RequirementDefinition>> predicates = new ArrayList<>();
- predicates
- .add(req -> req.getCapability().equals(ToscaCapabilityType.NATIVE_ATTACHMENT)
- && req.getNode().equals(ToscaNodeType.NATIVE_BLOCK_STORAGE)
- && req.getRelationship()
- .equals(ToscaRelationshipType.NATIVE_ATTACHES_TO));
+ predicates.add(
+ req -> req.getCapability().equals(ToscaCapabilityType.NATIVE_ATTACHMENT) && req.getNode().equals(ToscaNodeType.NATIVE_BLOCK_STORAGE)
+ && req.getRelationship().equals(ToscaRelationshipType.NATIVE_ATTACHES_TO));
return predicates;
}
@Override
Optional<List<String>> getConnectorPropertyParamName(String heatResourceId, Resource heatResource,
- HeatOrchestrationTemplate
- nestedHeatOrchestrationTemplate,
- String nestedHeatFileName) {
-
-
+ HeatOrchestrationTemplate nestedHeatOrchestrationTemplate, String nestedHeatFileName) {
Optional<AttachedResourceId> volumeId = HeatToToscaUtil
- .extractAttachedResourceId(nestedFileData.getFile(), nestedHeatOrchestrationTemplate,
- translateTo.getContext(), heatResource.getProperties().get("volume_id"));
- if (volumeId.isPresent() && volumeId.get().isGetParam()
- && volumeId.get().getEntityId() instanceof String) {
+ .extractAttachedResourceId(nestedFileData.getFile(), nestedHeatOrchestrationTemplate, translateTo.getContext(),
+ heatResource.getProperties().get("volume_id"));
+ if (volumeId.isPresent() && volumeId.get().isGetParam() && volumeId.get().getEntityId() instanceof String) {
return Optional.of(Collections.singletonList((String) volumeId.get().getEntityId()));
} else {
return Optional.empty();
@@ -104,58 +92,36 @@ class NovaToVolResourceConnection extends ResourceConnectionUsingRequirementHelp
}
@Override
- void addRequirementToConnectResources(
- Map.Entry<String, RequirementDefinition> requirementDefinitionEntry,
- List<String> paramNames) {
-
-
+ void addRequirementToConnectResources(Map.Entry<String, RequirementDefinition> requirementDefinitionEntry, List<String> paramNames) {
if (paramNames == null || paramNames.isEmpty()) {
return;
}
-
- List<String> supportedVolumeTypes =
- Collections.singletonList(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource());
-
+ List<String> supportedVolumeTypes = Collections.singletonList(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource());
for (String paramName : paramNames) {
Object paramValue = translateTo.getResource().getProperties().get(paramName);
- addRequirementToConnectResource(requirementDefinitionEntry, paramName, paramValue,
- supportedVolumeTypes);
+ addRequirementToConnectResource(requirementDefinitionEntry, paramName, paramValue, supportedVolumeTypes);
}
-
}
@Override
- boolean validateResourceTypeSupportedForReqCreation(String nestedResourceId,
- String nestedPropertyName,
- String connectionPointId,
- Resource connectedResource,
- List<String> supportedTypes) {
-
-
+ boolean validateResourceTypeSupportedForReqCreation(String nestedResourceId, String nestedPropertyName, String connectionPointId,
+ Resource connectedResource, List<String> supportedTypes) {
if (resourceTranslationBase.isUnsupportedResourceType(connectedResource, supportedTypes)) {
- logger.warn(LOG_UNSUPPORTED_VOL_ATTACHMENT_VOLUME_REQUIREMENT_CONNECTION, nestedResourceId,
- nestedPropertyName, connectedResource.getType(), connectionPointId, supportedTypes.toString());
+ logger
+ .warn(LOG_UNSUPPORTED_VOL_ATTACHMENT_VOLUME_REQUIREMENT_CONNECTION, nestedResourceId, nestedPropertyName, connectedResource.getType(),
+ connectionPointId, supportedTypes.toString());
return false;
}
-
return true;
}
@Override
- protected Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(
- String translatedResourceId, HeatOrchestrationTemplate nestedHeatOrchestrationTemplate) {
-
-
- List<Predicate<Map.Entry<String, Resource>>> predicates =
- buildPredicates(nestedFileData.getFile(), nestedHeatOrchestrationTemplate,
- translatedResourceId);
- List<Map.Entry<String, Resource>> list =
- nestedHeatOrchestrationTemplate.getResources().entrySet()
- .stream()
- .filter(entry -> predicates
- .stream()
- .allMatch(p -> p.test(entry)))
- .collect(Collectors.toList());
+ protected Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(String translatedResourceId,
+ HeatOrchestrationTemplate nestedHeatOrchestrationTemplate) {
+ List<Predicate<Map.Entry<String, Resource>>> predicates = buildPredicates(nestedFileData.getFile(), nestedHeatOrchestrationTemplate,
+ translatedResourceId);
+ List<Map.Entry<String, Resource>> list = nestedHeatOrchestrationTemplate.getResources().entrySet().stream()
+ .filter(entry -> predicates.stream().allMatch(p -> p.test(entry))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(list)) {
return Optional.empty();
} else {
@@ -164,26 +130,20 @@ class NovaToVolResourceConnection extends ResourceConnectionUsingRequirementHelp
}
@Override
- Optional<String> getConnectionTranslatedNodeUsingGetParamFunc(
- Map.Entry<String, RequirementDefinition> requirementDefinitionEntry, String paramName,
- List<String> supportedTargetNodeTypes) {
-
-
+ Optional<String> getConnectionTranslatedNodeUsingGetParamFunc(Map.Entry<String, RequirementDefinition> requirementDefinitionEntry,
+ String paramName, List<String> supportedTargetNodeTypes) {
Optional<String> targetTranslatedNodeId = super
- .getConnectionTranslatedNodeUsingGetParamFunc(requirementDefinitionEntry, paramName,
- supportedTargetNodeTypes);
+ .getConnectionTranslatedNodeUsingGetParamFunc(requirementDefinitionEntry, paramName, supportedTargetNodeTypes);
if (targetTranslatedNodeId.isPresent()) {
return targetTranslatedNodeId;
}
- Optional<AttachedResourceId> attachedResourceId =
- HeatToToscaUtil.extractAttachedResourceId(translateTo, paramName);
+ Optional<AttachedResourceId> attachedResourceId = HeatToToscaUtil.extractAttachedResourceId(translateTo, paramName);
if (!attachedResourceId.isPresent()) {
return Optional.empty();
}
AttachedResourceId resourceId = attachedResourceId.get();
if (resourceId.isGetParam() && resourceId.getEntityId() instanceof String) {
- TranslatedHeatResource shareResource =
- translateTo.getContext().getHeatSharedResourcesByParam().get(resourceId.getEntityId());
+ TranslatedHeatResource shareResource = translateTo.getContext().getHeatSharedResourcesByParam().get(resourceId.getEntityId());
if (Objects.nonNull(shareResource)) {
return Optional.empty();
}
@@ -191,36 +151,28 @@ class NovaToVolResourceConnection extends ResourceConnectionUsingRequirementHelp
Optional<FileData> fileData = HeatToToscaUtil.getFileData(translateTo.getHeatFileName(), allFilesData);
if (fileData.isPresent()) {
Optional<ResourceFileDataAndIDs> fileDataContainingResource = new VolumeTranslationHelper(logger)
- .getFileDataContainingVolume(fileData.get().getData(),
- (String) resourceId.getEntityId(), translateTo, FileData.Type.HEAT_VOL);
+ .getFileDataContainingVolume(fileData.get().getData(), (String) resourceId.getEntityId(), translateTo, FileData.Type.HEAT_VOL);
if (fileDataContainingResource.isPresent()) {
return Optional.of(fileDataContainingResource.get().getTranslatedResourceId());
}
}
}
-
return Optional.empty();
}
- private List<Predicate<Map.Entry<String, Resource>>> buildPredicates(
- String fileName,
- HeatOrchestrationTemplate heatOrchestrationTemplate,
- String novaTranslatedResourceId) {
+ private List<Predicate<Map.Entry<String, Resource>>> buildPredicates(String fileName, HeatOrchestrationTemplate heatOrchestrationTemplate,
+ String novaTranslatedResourceId) {
List<Predicate<Map.Entry<String, Resource>>> list = new ArrayList<>();
list.add(entry -> entry.getValue().getType().equals(getDesiredResourceType()));
list.add(entry -> {
Object instanceUuidProp = entry.getValue().getProperties().get("instance_uuid");
TranslationContext context = translateTo.getContext();
Optional<AttachedResourceId> instanceUuid = HeatToToscaUtil
- .extractAttachedResourceId(fileName, heatOrchestrationTemplate, context,
- instanceUuidProp);
+ .extractAttachedResourceId(fileName, heatOrchestrationTemplate, context, instanceUuidProp);
if (instanceUuid.isPresent()) {
- Optional<String> resourceTranslatedId =
- ResourceTranslationBase.getResourceTranslatedId(fileName, heatOrchestrationTemplate,
- (String) instanceUuid.get().getTranslatedId(), context);
- return resourceTranslatedId.isPresent()
- && resourceTranslatedId.get().equals(novaTranslatedResourceId);
-
+ Optional<String> resourceTranslatedId = ResourceTranslationBase
+ .getResourceTranslatedId(fileName, heatOrchestrationTemplate, (String) instanceUuid.get().getTranslatedId(), context);
+ return resourceTranslatedId.isPresent() && resourceTranslatedId.get().equals(novaTranslatedResourceId);
} else {
throw new CoreException(new MissingMandatoryPropertyErrorBuilder("instance_uuid").build());
}