public LabelBuilder(Label label) { id = label.getId(); name = label.getName(); vmIds(label.getVms()); hostIds(label.getHosts()); readOnly = label.isReadOnly(); }
@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; }
private static Map<String, String> mapAffinityLabelMapping(RegistrationAffinityLabelMappings model) { return model.getRegistrationAffinityLabelMappings() .stream() .collect(Collectors.toMap( registrationMap -> registrationMap.isSetFrom() ? registrationMap.getFrom().getName() : null, registrationMap -> registrationMap.isSetTo() ? AffinityLabelMapper.map(registrationMap.getTo(), null).getName() : null)); }
public void init() { startProgress(); AsyncDataProvider.getInstance().getVmListByClusterName(new AsyncQuery<>(vmList -> { Set<Guid> vmIds = getAffinityLabel().getVms(); getVmsSelectionModel().init(vmList, vmIds != null ? new ArrayList<>(vmIds) : new ArrayList<>()); stopProgressOnVmsAndHostsInit(); }), clusterName); AsyncDataProvider.getInstance().getHostListByClusterId(new AsyncQuery<>(hostList -> { Set<Guid> hostIds = getAffinityLabel().getHosts(); Collections.sort(hostList, new NameableComparator()); getHostsSelectionModel().init(hostList, hostIds != null ? new ArrayList<>(hostIds) : new ArrayList<>()); stopProgressOnVmsAndHostsInit(); }), clusterId); }
@Override public int hashCode() { return Objects.hash(getId()); }
public Vm get() { // First we need to check if the affinity label does contain the virtual machine: Label label = BackendAffinityLabelHelper.getLabel(this, labelId); if (!label.getVms().contains(guid)) { throw new WebApplicationException(Response.Status.NOT_FOUND); } // Then we return a link to the virtual machine: return BackendAffinityLabelHelper.makeVmLink(guid); }
public Host get() { // First we need to check if the label contains the host: Label label = BackendAffinityLabelHelper.getLabel(this, labelId); if (!label.getHosts().contains(guid)) { throw new WebApplicationException(Response.Status.NOT_FOUND); } // Then we return a link to the host: return BackendAffinityLabelHelper.makeHostLink(guid); }
private void writeAffinityLabels() { List<Label> affinityLabelsNames = fullEntityOvfData.getAffinityLabels(); if (affinityLabelsNames == null || affinityLabelsNames.isEmpty()) { return; } _writer.writeStartElement("Section"); _writer.writeAttributeString(XSI_URI, "type", "ovf:AffinityLabelsSection_Type"); affinityLabelsNames.forEach(label -> { _writer.writeStartElement(OvfProperties.AFFINITY_LABEL); _writer.writeAttributeString(getOvfUri(), "name", label.getName()); _writer.writeEndElement(); }); _writer.writeEndElement(); } }
@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()); }
@Override public Vms list() { Vms vms = new Vms(); List<Vm> list = vms.getVms(); Label label = BackendAffinityLabelHelper.getLabel(this, labelId); label.getVms().stream() .map(BackendAffinityLabelHelper::makeVmLink) .forEach(list::add); return vms; }
@Override public Hosts list() { Hosts hosts = new Hosts(); List<Host> list = hosts.getHosts(); Label label = BackendAffinityLabelHelper.getLabel(this, labelId); label.getHosts().stream() .map(BackendAffinityLabelHelper::makeHostLink) .forEach(list::add); return hosts; }
@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); }
private void remove() { if (getWindow() != null) { return; } ConfirmationModel model = new ConfirmationModel(); setConfirmWindow(model); model.setTitle(ConstantsManager.getInstance().getConstants().removeAffinityLabelsTitle()); model.setHelpTag(HelpTag.remove_affinity_groups); model.setHashName("remove_affinity_labels"); //$NON-NLS-1$ ArrayList<String> list = new ArrayList<>(); for (Label affinityLabel : getSelectedItems()) { list.add(affinityLabel.getName()); } model.setItems(list); model.getCommands().add(UICommand.createDefaultOkUiCommand("OnRemove", this)); //$NON-NLS-1$ model.getCommands().add(UICommand.createCancelUiCommand("Cancel", this)); //$NON-NLS-1$ }
public LabelActionParameters(@NotNull Label label) { super(label.getId()); this.label = label; }
public Response remove() { // First we need to check if the affinity label does contain the virtual machine: Label label = BackendAffinityLabelHelper.getLabel(this, labelId); if (!label.getVms().contains(guid)) { throw new WebApplicationException(Response.Status.NOT_FOUND); } // Remove the virtual machine from the label: VM entity = new VM(); entity.setId(guid); Label updatedLabel = new LabelBuilder(label) .removeEntity(entity) .build(); return performAction(ActionType.UpdateLabel, new LabelActionParameters(updatedLabel)); } }
public Response remove() { // First we need to check if the label contains the host: Label label = BackendAffinityLabelHelper.getLabel(this, labelId); if (!label.getHosts().contains(guid)) { throw new WebApplicationException(Response.Status.NOT_FOUND); } // Remove the host from the label: VDS entity = new VDS(); entity.setId(guid); Label updatedLabel = new LabelBuilder(label) .removeEntity(entity) .build(); return performAction(ActionType.UpdateLabel, new LabelActionParameters(updatedLabel)); } }
@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); }
@Override protected void createItems() { List<Label> selectedLabels = getModel().getSelectedItems(); boolean noLabelsSelected = selectedLabels == null || selectedLabels.isEmpty(); if (noLabelsSelected) { addNoLabelsMessage(); return; } itemList.clear(); Collections.sort(selectedLabels, new NameableComparator()); selectedLabels.forEach(label -> { ItemListItem labelListItem = new ItemListItem(); labelListItem.init(label.getName()); labelListItem.getDeactivationAnchor().addClickHandler(event -> { getModel().getSelectedItems().remove(label); refreshItems(); }); itemList.add(labelListItem); }); itemListPanel.add(itemList); }