@Override public int hashCode() { return Objects.hash(getId()); }
public LabelActionParameters(@NotNull Label label) { super(label.getId()); this.label = label; }
public LabelBuilder(Label label) { id = label.getId(); name = label.getName(); vmIds(label.getVms()); hostIds(label.getHosts()); readOnly = label.isReadOnly(); }
@Override public void save(Label label) { Guid id = label.getId(); if (Guid.isNullOrEmpty(id)) { id = Guid.newGuid(); label.setId(id); } MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("label_id", label.getId()) .addValue("label_name", label.getName()) .addValue("readonly", label.isReadOnly()) .addValue("vms", createArrayOf("uuid", label.getVms().toArray())) .addValue("hosts", createArrayOf("uuid", label.getHosts().toArray())); getCallsHandler().executeModification("CreateLabel", parameterSource); }
@Override public void update(Label label) { MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource() .addValue("label_id", label.getId()) .addValue("label_name", label.getName()) .addValue("readonly", label.isReadOnly()) .addValue("vms", createArrayOf("uuid", label.getVms().toArray())) .addValue("hosts", createArrayOf("uuid", label.getHosts().toArray())); getCallsHandler() .executeModification("UpdateLabel", parameterSource); }
@Test public void testUpdateLabelsForHost() { Label label = createAndSaveLabel("test_label"); dao.addHostToLabels(host.getId(), Lists.newArrayList(label.getId())); Label label2 = createAndSaveLabel("test_label_2"); dao.updateLabelsForHost(host.getId(), Lists.newArrayList(label2.getId())); List<Label> assignedLabels = dao.getAllByEntityIds(Lists.newArrayList(host.getId())); assertNotNull(assignedLabels); assertEquals(Lists.newArrayList(label2), assignedLabels); }
@Test public void testRemoveLabelFromVm() { Label label = createAndSaveLabel("test_label"); Label label2 = createAndSaveLabel("test_label_2"); VmStatic vm = createAndSaveVm(); List<Label> labelsToAssign = Lists.newArrayList(label, label2); List<Guid> guidsForLabelsToAssign = labelsToAssign.stream() .map(Label::getId) .collect(Collectors.toList()); dao.addVmToLabels(vm.getId(), guidsForLabelsToAssign); guidsForLabelsToAssign.remove(label2.getId()); dao.updateLabelsForVm(vm.getId(), guidsForLabelsToAssign); List<Label> labelsForVm = dao.getAllByEntityIds(Lists.newArrayList(vm.getId())); assertEquals(1, labelsForVm.size()); assertEquals(label, labelsForVm.get(0)); }
@Mapping(from = Label.class, to = org.ovirt.engine.api.model.AffinityLabel.class) public static org.ovirt.engine.api.model.AffinityLabel map(Label model, org.ovirt.engine.api.model.AffinityLabel template) { org.ovirt.engine.api.model.AffinityLabel entity = template != null ? template : new org.ovirt.engine.api.model.AffinityLabel(); entity.setId(model.getId().toString()); entity.setName(model.getName()); entity.setReadOnly(model.isReadOnly()); return entity; }
@Test public void testUpdateLabelsForVm() { VmStatic vm = createAndSaveVm(); Label label = createAndSaveLabel("test_label"); dao.addVmToLabels(vm.getId(), Lists.newArrayList(label.getId())); Label label2 = createAndSaveLabel("test_label_2"); dao.updateLabelsForVm(vm.getId(), Lists.newArrayList(label2.getId())); List<Label> assignedLabels = dao.getAllByEntityIds(Lists.newArrayList(vm.getId())); assertNotNull(assignedLabels); assertEquals(Lists.newArrayList(label2), assignedLabels); }
@Test public void testCreateAndGetWithHost() { Guid guid = Guid.newGuid(); Label label = new LabelBuilder() .name("test label") .id(guid) .entity(host) .build(); dao.save(label); Label read = dao.get(guid); assertNotNull(read); assertEquals(guid, read.getId()); assertEquals(label.getName(), read.getName()); assertNotNull(read.getVms()); assertEquals(0, read.getVms().size()); assertEquals(1, read.getHosts().size()); assertEquals(host.getId(), read.getHosts().iterator().next()); }
@Test public void testCreateAndGetAll() { Guid guid = Guid.newGuid(); Label label = new LabelBuilder() .name("test label") .id(guid) .build(); dao.save(label); List<Label> readList = dao.getAll(); assertNotNull(readList); Label read = readList.get(0); assertNotNull(read); assertEquals(guid, read.getId()); assertEquals(label.getName(), read.getName()); }
@Test public void testCreateAndGetWithVM() { Guid guid = Guid.newGuid(); VmStatic vm = createAndSaveVm(); Label label = new LabelBuilder() .name("test label") .id(guid) .vm(vm.getId()) .build(); dao.save(label); Label read = dao.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()); }
@Test public void testCreateAndDeleteById() { Guid guid = Guid.newGuid(); Label label = new LabelBuilder() .name("test label") .id(guid) .host(host.getId()) .build(); dao.save(label); dao.remove(label.getId()); Label read = dao.get(guid); assertNull(read); }
@Test public void testCreateAndGetByIds() { Label label = new LabelBuilder() .name("test label") .id(Guid.newGuid()) .entity(host) .build(); dao.save(label); VmStatic vm = createAndSaveVm(); VmStatic vm2 = createAndSaveVm(); Label label2 = new LabelBuilder() .name("test label 2") .id(Guid.newGuid()) .entity(vm) .build(); dao.save(label2); label = new LabelBuilder() .name("test label not in result") .id(Guid.newGuid()) .entity(vm2) .build(); dao.save(label); List<Label> read = dao.getAllByIds(Lists.newArrayList(label.getId(), label2.getId())); assertNotNull(read); assertEquals(2, read.size()); }
@Test public void testCreateAndGetById() { Guid guid = Guid.newGuid(); Label label = new LabelBuilder() .name("test label") .id(guid) .build(); dao.save(label); Label read = dao.get(guid); assertNotNull(read); assertEquals(guid, read.getId()); assertEquals(label.getName(), read.getName()); }