use of org.ovirt.engine.api.model.AffinityGroup in project ovirt-engine by oVirt.
the class AffinityGroupMapper method map.
@Mapping(from = org.ovirt.engine.core.common.scheduling.AffinityGroup.class, to = AffinityGroup.class)
public static AffinityGroup map(org.ovirt.engine.core.common.scheduling.AffinityGroup entity, AffinityGroup template) {
AffinityGroup model = template != null ? template : new AffinityGroup();
model.setId(entity.getId().toString());
model.setName(entity.getName());
model.setDescription(entity.getDescription());
// These two fields are maintained to keep the backwards compatibility
// with version 4 of the API and will be removed in future.
model.setPositive(entity.isVmAffinityEnabled() ? entity.getVmPolarityBooleanObject() : null);
model.setEnforcing(entity.isVmEnforcing());
AffinityRule hostsRule = model.getHostsRule();
if (hostsRule == null) {
hostsRule = new AffinityRule();
model.setHostsRule(hostsRule);
}
hostsRule.setEnabled(entity.isVdsAffinityEnabled());
hostsRule.setEnforcing(entity.isVdsEnforcing());
hostsRule.setPositive(entity.isVdsPositive());
AffinityRule vmsRule = model.getVmsRule();
if (vmsRule == null) {
vmsRule = new AffinityRule();
model.setVmsRule(vmsRule);
}
vmsRule.setEnabled(entity.isVmAffinityEnabled());
vmsRule.setEnforcing(entity.isVmEnforcing());
vmsRule.setPositive(entity.isVmPositive());
Cluster cluster = new Cluster();
cluster.setId(entity.getClusterId().toString());
model.setCluster(cluster);
Hosts hosts = model.getHosts();
if (hosts == null) {
hosts = new Hosts();
model.setHosts(hosts);
}
entity.getVdsIds().stream().map(id -> {
Host host = new Host();
host.setId(id.toString());
return host;
}).forEach(model.getHosts().getHosts()::add);
Vms vms = model.getVms();
if (vms == null) {
vms = new Vms();
model.setVms(vms);
}
entity.getVmIds().stream().map(id -> {
Vm vm = new Vm();
vm.setId(id.toString());
return vm;
}).forEach(model.getVms().getVms()::add);
return model;
}
use of org.ovirt.engine.api.model.AffinityGroup in project ovirt-engine by oVirt.
the class AffinityGroupMapperTest method testVmsRuleStructure.
@Test
public void testVmsRuleStructure() throws Exception {
AffinityGroup model = new AffinityGroup();
AffinityRule rule = new AffinityRule();
rule.setEnforcing(true);
rule.setPositive(false);
rule.setEnabled(true);
model.setVmsRule(rule);
org.ovirt.engine.core.common.scheduling.AffinityGroup entity = new org.ovirt.engine.core.common.scheduling.AffinityGroup();
AffinityGroupMapper.map(model, entity);
assertEquals(EntityAffinityRule.NEGATIVE, entity.getVmAffinityRule());
assertEquals(true, entity.isVmEnforcing());
assertEquals(true, entity.isVmAffinityEnabled());
}
use of org.ovirt.engine.api.model.AffinityGroup in project ovirt-engine by oVirt.
the class AffinityGroupMapperTest method testHostAffinityDisabledRestOutput.
@Test
public void testHostAffinityDisabledRestOutput() throws Exception {
org.ovirt.engine.core.common.scheduling.AffinityGroup entity = new org.ovirt.engine.core.common.scheduling.AffinityGroup();
entity.setId(Guid.Empty);
entity.setClusterId(Guid.Empty);
entity.setVdsEnforcing(true);
entity.setVdsAffinityRule(EntityAffinityRule.DISABLED);
AffinityGroup model = new AffinityGroup();
AffinityGroupMapper.map(entity, model);
assertNotNull(model.getHostsRule());
assertEquals(false, model.getHostsRule().isEnabled());
assertEquals(true, model.getHostsRule().isEnforcing());
}
use of org.ovirt.engine.api.model.AffinityGroup in project ovirt-engine by oVirt.
the class AffinityGroupMapperTest method testVmsRuleStructureNeg.
@Test
public void testVmsRuleStructureNeg() throws Exception {
AffinityGroup model = new AffinityGroup();
AffinityRule rule = new AffinityRule();
rule.setEnforcing(false);
rule.setPositive(true);
rule.setEnabled(true);
model.setVmsRule(rule);
org.ovirt.engine.core.common.scheduling.AffinityGroup entity = new org.ovirt.engine.core.common.scheduling.AffinityGroup();
AffinityGroupMapper.map(model, entity);
assertEquals(EntityAffinityRule.POSITIVE, entity.getVmAffinityRule());
assertEquals(false, entity.isVmEnforcing());
assertEquals(true, entity.isVmAffinityEnabled());
}
use of org.ovirt.engine.api.model.AffinityGroup in project ovirt-engine by oVirt.
the class AffinityGroupMapperTest method testVmIdsReplacement.
@Test
public void testVmIdsReplacement() throws Exception {
AffinityGroup model = new AffinityGroup();
Vm vm = new Vm();
final Guid vmGuid = Guid.newGuid();
vm.setId(vmGuid.toString());
model.setVms(new Vms());
model.getVms().getVms().add(vm);
org.ovirt.engine.core.common.scheduling.AffinityGroup entity = new org.ovirt.engine.core.common.scheduling.AffinityGroup();
entity.getVdsIds().add(Guid.newGuid());
AffinityGroupMapper.map(model, entity);
assertEquals(vmGuid, entity.getVmIds().get(0));
assertEquals(1, entity.getVmIds().size());
}
Aggregations