Search in sources :

Example 1 with Core

use of org.ovirt.engine.api.model.Core in project ovirt-engine by oVirt.

the class NumaMapper method map.

@Mapping(from = VdsNumaNode.class, to = NumaNode.class)
public static NumaNode map(VdsNumaNode entity, NumaNode template) {
    NumaNode model = template != null ? template : new NumaNode();
    if (entity.getId() != null) {
        model.setId(entity.getId().toString());
    }
    model.setIndex(entity.getIndex());
    model.setMemory(entity.getMemTotal());
    if (entity.getCpuIds() != null && entity.getCpuIds().size() > 0) {
        Cpu cpu = new Cpu();
        Cores cores = new Cores();
        for (int id : entity.getCpuIds()) {
            Core core = new Core();
            core.setIndex(id);
            cores.getCores().add(core);
        }
        cpu.setCores(cores);
        model.setCpu(cpu);
    }
    if (entity.getNumaNodeDistances() != null && entity.getNumaNodeDistances().size() > 0) {
        model.setNodeDistance(StringUtils.join(entity.getNumaNodeDistances().values(), " "));
    }
    return model;
}
Also used : Cores(org.ovirt.engine.api.model.Cores) Cpu(org.ovirt.engine.api.model.Cpu) VmNumaNode(org.ovirt.engine.core.common.businessentities.VmNumaNode) NumaNode(org.ovirt.engine.api.model.NumaNode) VdsNumaNode(org.ovirt.engine.core.common.businessentities.VdsNumaNode) VirtualNumaNode(org.ovirt.engine.api.model.VirtualNumaNode) Core(org.ovirt.engine.api.model.Core)

Example 2 with Core

use of org.ovirt.engine.api.model.Core in project ovirt-engine by oVirt.

the class NumaMapper method map.

@Mapping(from = VirtualNumaNode.class, to = VmNumaNode.class)
public static VmNumaNode map(VirtualNumaNode model, VmNumaNode template) {
    VmNumaNode entity = template != null ? template : new VmNumaNode();
    if (model.isSetId()) {
        entity.setId(GuidUtils.asGuid(model.getId()));
    }
    if (entity.getId() == null) {
        entity.setId(Guid.newGuid());
    }
    if (model.isSetIndex()) {
        entity.setIndex(model.getIndex());
    }
    Cpu cpu = model.getCpu();
    if (cpu != null) {
        List<Integer> ids = new ArrayList<>();
        Cores cores = cpu.getCores();
        if (cores != null) {
            for (Core core : cores.getCores()) {
                Integer index = core.getIndex();
                if (index != null) {
                    ids.add(index);
                }
            }
        }
        entity.setCpuIds(ids);
    }
    if (model.isSetMemory()) {
        entity.setMemTotal(model.getMemory());
    }
    if (model.isSetNumaNodePins()) {
        entity.setVdsNumaNodeList(model.getNumaNodePins().getNumaNodePins().stream().map(NumaNodePin::getIndex).collect(Collectors.toList()));
    }
    return entity;
}
Also used : Cores(org.ovirt.engine.api.model.Cores) VmNumaNode(org.ovirt.engine.core.common.businessentities.VmNumaNode) ArrayList(java.util.ArrayList) Cpu(org.ovirt.engine.api.model.Cpu) NumaNodePin(org.ovirt.engine.api.model.NumaNodePin) Core(org.ovirt.engine.api.model.Core)

Aggregations

Core (org.ovirt.engine.api.model.Core)2 Cores (org.ovirt.engine.api.model.Cores)2 Cpu (org.ovirt.engine.api.model.Cpu)2 VmNumaNode (org.ovirt.engine.core.common.businessentities.VmNumaNode)2 ArrayList (java.util.ArrayList)1 NumaNode (org.ovirt.engine.api.model.NumaNode)1 NumaNodePin (org.ovirt.engine.api.model.NumaNodePin)1 VirtualNumaNode (org.ovirt.engine.api.model.VirtualNumaNode)1 VdsNumaNode (org.ovirt.engine.core.common.businessentities.VdsNumaNode)1