use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class UpdateLabelCommand method validate.
@Override
protected boolean validate() {
if (getLabelId() == null) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_NOT_EXISTS);
return false;
}
Label label = labelDao.get(getLabelId());
if (label == null) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_NOT_EXISTS);
return false;
}
if (label.isReadOnly() && !isInternalExecution()) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_READ_ONLY);
return false;
}
label = getParameters().getLabel();
if (label.getName() == null || label.getName().isEmpty()) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_BAD_NAME);
return false;
}
Label existing = labelDao.getByName(label.getName());
if (existing != null && !existing.getId().equals(label.getId())) {
addValidationMessage(EngineMessage.AFFINITY_LABEL_NAME_ALREADY_EXISTS);
return false;
}
return super.validate();
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class RemoveLabelCommand method executeCommand.
@Override
protected void executeCommand() {
if (getLabelId() != null) {
Label label = labelDao.get(getLabelId());
vmStaticDao.incrementDbGenerationForVms(new ArrayList<Guid>(label.getVms()));
labelDao.remove(getLabelId());
setSucceeded(true);
}
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class OvfVmReader method readAffinityLabelsSection.
@Override
protected void readAffinityLabelsSection(XmlNode section) {
XmlNodeList list = selectNodes(section, OvfProperties.AFFINITY_LABEL);
List<Label> affinityLabels = new ArrayList<>();
for (XmlNode node : list) {
String affinityLabelName = node.attributes.get("ovf:name").innerText;
LabelBuilder builder = new LabelBuilder();
Label label = builder.name(affinityLabelName).build();
affinityLabels.add(label);
}
fullEntityOvfData.setAffinityLabels(affinityLabels);
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class LabelFilterPolicyUnitTest method testEmpty.
@Test
public void testEmpty() throws Exception {
Label red = new LabelBuilder().entities(vm, host1).build();
Label blue = new LabelBuilder().entities(vm, host2).build();
List<Label> labels = Arrays.asList(red, blue);
doReturn(labels).when(labelDao).getAllByEntityIds(any());
assertThat(unit.filter(cluster, hosts, vm, new HashMap<>(), new PerHostMessages())).isEmpty();
}
use of org.ovirt.engine.core.common.businessentities.Label in project ovirt-engine by oVirt.
the class LabelDaoTest method testCreateAndGetWithVM.
@Test
public void testCreateAndGetWithVM() {
Guid guid = Guid.newGuid();
VmStatic vm = createAndSaveVm();
Label label = new LabelBuilder().name("test label").id(guid).vm(vm.getId()).build();
labelDao.save(label);
Label read = labelDao.get(guid);
assertNotNull(read);
assertEquals(guid, read.getId());
assertEquals(label.getName(), read.getName());
assertNotNull(read.getVms());
assertEquals(1, read.getVms().size());
assertEquals(0, read.getHosts().size());
assertEquals(vm.getId(), read.getVms().iterator().next());
}
Aggregations