Example usage for org.apache.commons.collections4 CollectionUtils isEmpty

List of usage examples for org.apache.commons.collections4 CollectionUtils isEmpty

Introduction

In this page you can find the example usage for org.apache.commons.collections4 CollectionUtils isEmpty.

Prototype

public static boolean isEmpty(final Collection<?> coll) 

Source Link

Document

Null-safe check if the specified collection is empty.

Usage

From source file:org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil.java

static FileDataCollection getFileCollectionsByFilter(List<FileData> fileDataList, Set<FileData.Type> typeFilter,
        TranslationContext translationContext) {
    FileDataCollection fileDataCollection = new FileDataCollection();
    Map<String, FileData> filteredFiles = filterFileDataListByType(fileDataList, typeFilter);
    Set<String> referenced = new HashSet<>();
    List<String> filenames = extractFilenamesFromFileDataList(filteredFiles.values());

    for (FileData fileData : filteredFiles.values()) {
        String fileName = fileData.getFile();

        if (FileData.isHeatFile(fileData.getType())) {
            if (fileData.getBase() != null && fileData.getBase().equals(true)) {
                fileDataCollection.addBaseFiles(fileData);
            }/*from w  w w . ja  va2s. c om*/
            HeatOrchestrationTemplate heatOrchestrationTemplate = new YamlUtil()
                    .yamlToObject(translationContext.getFileContent(fileName), HeatOrchestrationTemplate.class);
            for (Resource resource : heatOrchestrationTemplate.getResources().values()) {
                if (filenames.contains(resource.getType())) {
                    handleNestedFile(translationContext, fileDataCollection, filteredFiles, referenced,
                            resource.getType());
                } else if (resource.getType()
                        .equals(HeatResourcesTypes.RESOURCE_GROUP_RESOURCE_TYPE.getHeatResource())) {
                    Object resourceDef = resource.getProperties().get(HeatConstants.RESOURCE_DEF_PROPERTY_NAME);
                    Object innerTypeDef = ((Map) resourceDef).get("type");
                    if (innerTypeDef instanceof String) {
                        String internalResourceType = (String) innerTypeDef;
                        if (filenames.contains(internalResourceType)) {
                            handleNestedFile(translationContext, fileDataCollection, filteredFiles, referenced,
                                    internalResourceType);
                        }
                    }
                }
            }

        } else {
            fileDataCollection.addArtifactFiles(fileData);
            filteredFiles.remove(fileData.getFile());
        }
    }

    referenced.forEach(filteredFiles::remove);
    if (!CollectionUtils.isEmpty(fileDataCollection.getBaseFile())) {
        for (FileData fileData : fileDataCollection.getBaseFile()) {
            filteredFiles.remove(fileData.getFile());
        }
    }
    fileDataCollection.setAddOnFiles(filteredFiles.values());
    return fileDataCollection;
}

From source file:org.openecomp.sdc.translator.services.heattotosca.helper.VolumeTranslationHelper.java

/**
 * Gets file data containing volume./*from   ww w  .  j  a  v a2  s  . c  o  m*/
 *
 * @param filesToSearch the files to search
 * @param resourceId    the resource id
 * @param translateTo   the translate to
 * @param types         the types
 * @return the file data containing volume
 */
public Optional<ResourceFileDataAndIDs> getFileDataContainingVolume(List<FileData> filesToSearch,
        String resourceId, TranslateTo translateTo, FileData.Type... types) {
    if (CollectionUtils.isEmpty(filesToSearch)) {
        return Optional.empty();
    }

    List<FileData> fileDatas = Objects.isNull(types) ? filesToSearch
            : HeatToToscaUtil.getFilteredListOfFileDataByTypes(filesToSearch, types);
    Optional<ResourceFileDataAndIDs> fileDataAndIDs = getResourceFileDataAndIDsForVolumeConnection(resourceId,
            translateTo, fileDatas);
    if (fileDataAndIDs.isPresent()) {
        return fileDataAndIDs;
    }
    return Optional.empty();
}

From source file:org.openecomp.sdc.translator.services.heattotosca.helper.VolumeTranslationHelper.java

private Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(String fileName,
        HeatOrchestrationTemplate heatOrchestrationTemplate, String translatedResourceId,
        TranslateTo translateTo, String heatResourceType) {
    List<Map.Entry<String, Resource>> list = heatOrchestrationTemplate.getResources().entrySet().stream()
            .filter(entry -> getPredicatesForTranslatedIdToResourceId(fileName, heatOrchestrationTemplate,
                    translatedResourceId, translateTo.getContext(), heatResourceType).stream()
                            .allMatch(p -> p.test(entry)))
            .collect(Collectors.toList());
    if (CollectionUtils.isEmpty(list)) {
        return Optional.empty();
    } else {//from  w ww .  ja v  a 2  s  .  c o  m
        return Optional.of(list);
    }
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.NovaToVolResourceConnection.java

@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());
    if (CollectionUtils.isEmpty(list)) {
        return Optional.empty();
    } else {//from ww w . j a v a 2s.  c o m
        return Optional.of(list);
    }
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationBase.java

static Optional<ResourceFileDataAndIDs> getFileDataContainingResource(List<FileData> filesToSearch,
        String resourceId, TranslationContext context, FileData.Type... types) {
    if (CollectionUtils.isEmpty(filesToSearch)) {
        return Optional.empty();
    }/*from   w w w . j  a  v a  2s.c om*/

    List<FileData> fileDatas = Objects.isNull(types) ? filesToSearch
            : HeatToToscaUtil.getFilteredListOfFileDataByTypes(filesToSearch, types);
    for (FileData data : fileDatas) {
        HeatOrchestrationTemplate heatOrchestrationTemplate = new YamlUtil().yamlToObject(
                context.getFiles().getFileContent(data.getFile()), HeatOrchestrationTemplate.class);
        Map<String, Output> outputs = heatOrchestrationTemplate.getOutputs();
        if (Objects.isNull(outputs)) {
            continue;
        }
        Output output = outputs.get(resourceId);
        if (Objects.nonNull(output)) {
            Optional<AttachedResourceId> attachedOutputId = HeatToToscaUtil.extractAttachedResourceId(
                    data.getFile(), heatOrchestrationTemplate, context, output.getValue());
            if (attachedOutputId.isPresent()) {
                AttachedResourceId attachedResourceId = attachedOutputId.get();
                if (!attachedResourceId.isGetResource()) {
                    logger.warn("output: '" + resourceId + "' in file '" + data.getFile()
                            + "' is not defined as get_resource and therefor not supported.");
                    continue;
                }
                ResourceFileDataAndIDs fileDataAndIDs = new ResourceFileDataAndIDs(
                        (String) attachedResourceId.getEntityId(),
                        (String) attachedResourceId.getTranslatedId(), data);
                return Optional.of(fileDataAndIDs);
            }
        }
    }
    return Optional.empty();
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationBase.java

Optional<List<Map.Entry<String, Resource>>> getResourceByTranslatedResourceId(String fileName,
        HeatOrchestrationTemplate heatOrchestrationTemplate, String translatedResourceId,
        TranslateTo translateTo, String heatResourceType) {
    List<Map.Entry<String, Resource>> list = heatOrchestrationTemplate.getResources().entrySet().stream()
            .filter(entry -> getPredicatesForTranslatedIdToResourceId(fileName, heatOrchestrationTemplate,
                    translatedResourceId, translateTo.getContext(), heatResourceType).stream()
                            .allMatch(p -> p.test(entry)))
            .collect(Collectors.toList());
    if (CollectionUtils.isEmpty(list)) {
        return Optional.empty();
    } else {//from w  ww .  ja v a  2  s .c om
        return Optional.of(list);
    }
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationNestedImpl.java

private Map<String, RequirementAssignment> getNodeTemplateRequirements(NodeTemplate template) {
    List<Map<String, RequirementAssignment>> templateRequirements = template.getRequirements();

    Map<String, RequirementAssignment> nodeTemplateRequirementsDefinition = new HashMap<>();
    if (CollectionUtils.isEmpty(templateRequirements)) {
        return nodeTemplateRequirementsDefinition;
    }//w  w  w .  j a v a 2 s  .co  m
    for (Map<String, RequirementAssignment> requirementAssignmentMap : templateRequirements) {
        for (Map.Entry<String, RequirementAssignment> requirementEntry : requirementAssignmentMap.entrySet()) {
            nodeTemplateRequirementsDefinition.put(requirementEntry.getKey(), requirementEntry.getValue());
        }
    }
    return nodeTemplateRequirementsDefinition;
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationNovaServerGroupsImpl.java

@Override
protected void translate(TranslateTo translateTo) {
    String resourceId = translateTo.getResourceId();
    List<String> toscaPolicyTypes = getToscaPolicies(translateTo.getResource(), resourceId);
    if (!CollectionUtils.isEmpty(toscaPolicyTypes)) {
        addGroupToTopology(translateTo, resourceId);
        addPoliciesToTopology(translateTo, resourceId, toscaPolicyTypes);
    }//from   w w w.jav a2 s  . c  o m
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationNovaServerImpl.java

private void manageNovaServerBlockDeviceMapping(String heatFileName, ServiceTemplate serviceTemplate,
        NodeTemplate novaNodeTemplate, HeatOrchestrationTemplate heatOrchestrationTemplate, Resource resource,
        String resourceId, String novaServerTranslatedId, TranslationContext context) {

    List<Map<String, Object>> blockDeviceMappingList = getBlockDeviceMappingList(resource);
    if (CollectionUtils.isEmpty(blockDeviceMappingList)) {
        return;//from  ww  w  .  j ava 2  s  .c  o  m
    }

    Object volumeIdObject;
    Object snapshotIdObject;
    String volumeResourceId;
    int index = 0;
    for (Map<String, Object> blockDeviceMapping : blockDeviceMappingList) {
        volumeIdObject = blockDeviceMapping.get("volume_id");
        snapshotIdObject = blockDeviceMapping.get("snapshot_id");

        if (volumeIdObject == null && snapshotIdObject == null) {
            logger.warn("Resource '" + resourceId
                    + "' has block_device_mapping property with empty/missing volume_id and snapshot_id "
                    + "properties. Entry number " + (index + 1)
                    + ", this entry will be ignored in TOSCA translation.");
            index++;
            continue;
        }
        if (volumeIdObject == null) {
            String deviceName = (String) blockDeviceMapping.get("device_name");
            String relationshipId = novaServerTranslatedId + "_" + index;

            Optional<AttachedResourceId> attachedSnapshotId = HeatToToscaUtil.extractAttachedResourceId(
                    heatFileName, heatOrchestrationTemplate, context, snapshotIdObject);
            volumeResourceId = novaServerTranslatedId + "_" + attachedSnapshotId.get().getEntityId();
            createVolumeAttachesToRelationship(serviceTemplate, deviceName, novaServerTranslatedId,
                    volumeResourceId, relationshipId);
            createCinderVolumeNodeTemplate(serviceTemplate, volumeResourceId, heatFileName, blockDeviceMapping,
                    heatOrchestrationTemplate, context);
            connectNovaServerToVolume(novaNodeTemplate, volumeResourceId, relationshipId);
        } else {
            Optional<AttachedResourceId> attachedVolumeId = HeatToToscaUtil.extractAttachedResourceId(
                    heatFileName, heatOrchestrationTemplate, context, volumeIdObject);
            if (attachedVolumeId.get().isGetResource()) {
                connectNovaServerToVolume(novaNodeTemplate, (String) attachedVolumeId.get().getTranslatedId(),
                        null);
            }
        }
        index++;
    }
}

From source file:org.openecomp.sdc.translator.services.heattotosca.impl.ResourceTranslationNovaServerImpl.java

private List<Map<String, Object>> getBlockDeviceMappingList(Resource resource) {

    if (Objects.isNull(resource.getProperties())) {
        return Collections.emptyList();
    }/*  ww  w  .java  2s.co m*/
    List<Map<String, Object>> blockDeviceMappingList = (List<Map<String, Object>>) resource.getProperties()
            .get("block_device_mapping");
    List<Map<String, Object>> blockDeviceMappingV2List = (List<Map<String, Object>>) resource.getProperties()
            .get("block_device_mapping_v2");

    if (blockDeviceMappingList != null && blockDeviceMappingV2List != null) {
        blockDeviceMappingList.addAll(blockDeviceMappingV2List);
    } else if (CollectionUtils.isEmpty(blockDeviceMappingList)
            && CollectionUtils.isEmpty(blockDeviceMappingV2List)) {
        return null;

    } else {
        blockDeviceMappingList = blockDeviceMappingList != null ? blockDeviceMappingList
                : blockDeviceMappingV2List;
    }
    return blockDeviceMappingList;
}