@Override public Object getQueryableId() { return getId(); }
public VmRngDevice(VmDevice dev) { this(dev.getId(), dev.getSpecParams()); }
private static List<VmDevice> sortInterfacesByName(List<VmDevice> pluggedInterfaces, List<VmNetworkInterface> interfaces) { if (pluggedInterfaces.size() < 2) { return pluggedInterfaces; } final Map<Guid, String> deviceIdToIfaceName = new HashMap<>(); for (VmNetworkInterface iface : interfaces) { deviceIdToIfaceName.put(iface.getId(), iface.getName()); } Collections.sort(pluggedInterfaces, Comparator.comparing(d -> deviceIdToIfaceName.get(d.getId().getDeviceId()))); return pluggedInterfaces; }
private void updateItems() { Collection<VmDeviceFeEntity> items = getItems(); for (VmDeviceFeEntity item: items) { item.setBeingUnplugged(idsOfDevicesBeingUnplugged.contains(item.getVmDevice().getId())); } setItems(new ArrayList<>(items)); } }
@Override public void onSuccess(QueryReturnValue returnValue) { final Collection<VmDevice> vmDevices = returnValue.getReturnValue(); final ArrayList<VmDeviceFeEntity> frontendDevices = new ArrayList<>(); for (VmDevice vmDevice : vmDevices) { // exclude USB controller devices with model property set to 'none' if (vmDevice.getDevice().equals(VmDeviceType.USB.getName()) && vmDevice.getType() == VmDeviceGeneralType.CONTROLLER && (vmDevice.getSpecParams().get(MODEL)) != null && vmDevice.getSpecParams().get(MODEL).equals(UsbControllerModel.NONE.libvirtName)) { continue; } frontendDevices.add(new VmDeviceFeEntity( vmDevice, vm, idsOfDevicesBeingUnplugged.contains(vmDevice.getId()))); } setItems(frontendDevices); } }) {};
/** * updates disk boot order * snapshot disk devices always will have lower priority than regular attached disks. */ private static int setDiskBootOrder( Collection<VmDevice> devices, int bootOrder, Map<VmDeviceId, DiskVmElement> deviceIdTodiskVmElement) { LinkedList<VmDevice> diskDevices = new LinkedList<>(); for (VmDevice device : devices) { if (isDisk(device)) { Guid id = device.getDeviceId(); if (id != null && !id.equals(Guid.Empty)) { if (device.getSnapshotId() == null) { diskDevices.addFirst(device); } else { diskDevices.addLast(device); } } } } for (VmDevice device : diskDevices) { DiskVmElement dve = deviceIdTodiskVmElement.get(device.getId()); if (dve != null && dve.isBoot()) { device.setBootOrder(++bootOrder); } } return bootOrder; }
@SuppressWarnings("unchecked") public VmPayload(VmDevice dev) { super(dev.getId(), dev.getType(), dev.getDevice(), dev.getAddress(), dev.getSpecParams(), dev.isManaged(), dev.isPlugged(), dev.getReadOnly(), dev.getAlias(), dev.getCustomProperties(), dev.getSnapshotId(), dev.getLogicalName()); if (dev.getSpecParams() != null) { Map<String, Object> payload = (Map<String, Object>)dev.getSpecParams().get(SpecParamsPayload); this.volumeId = (String)payload.get(SpecParamsVolumeIdType); this.files = (HashMap<String, String>)payload.get(SpecParamsFileType); } }
private void onMemoryHotUnplugConfirmed() { setConfirmWindow(null); final VmDeviceFeEntity deviceEntity = getSelectedItem(); if (deviceEntity == null || deviceEntity.getVmDevice().getType() != VmDeviceGeneralType.MEMORY) { return; } idsOfDevicesBeingUnplugged.add(deviceEntity.getVmDevice().getId(), removedItem -> updateItems()); updateItems(); Frontend.getInstance().runAction( ActionType.HotUnplugMemory, new HotUnplugMemoryParameters(deviceEntity.getVmDevice().getId()), true); }
public GraphicsDevice(VmDevice vmDev) { this(GraphicsType.fromString(vmDev.getDevice()).getCorrespondingDeviceType()); setId(vmDev.getId()); setSpecParams(vmDev.getSpecParams()); }
private void writeCd() { Collection<VmDevice> devices = vmBase.getManagedDeviceMap().values(); for (VmDevice vmDevice : devices) { if (vmDevice.getDevice().equals(VmDeviceType.CDROM.getName())) { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "Caption", "CDROM"); _writer.writeElement(RASD_URI, "InstanceId", vmDevice.getId().getDeviceId().toString()); _writer.writeElement(RASD_URI, "ResourceType", OvfHardware.CD); writeVmDeviceInfo(vmDevice); _writer.writeEndElement(); // item break; // only one CD is currently supported } } }
private void writeOtherDevices() { List<VmDevice> devices = vmBase.getUnmanagedDeviceList(); Collection<VmDevice> managedDevices = vmBase.getManagedDeviceMap().values(); for (VmDevice device : managedDevices) { if (VmDeviceCommonUtils.isSpecialDevice(device.getDevice(), device.getType())) { devices.add(device); } } for (VmDevice vmDevice : devices) { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "ResourceType", OvfHardware.OTHER); _writer.writeElement(RASD_URI, "InstanceId", vmDevice.getId().getDeviceId().toString()); writeVmDeviceInfo(vmDevice); _writer.writeEndElement(); // item } }
private void writeGraphics() { Collection<VmDevice> devices = vmBase.getManagedDeviceMap().values(); for (VmDevice vmDevice : devices) { if (vmDevice.getType() == VmDeviceGeneralType.GRAPHICS) { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "Caption", "Graphical Framebuffer"); _writer.writeElement(RASD_URI, "InstanceId", vmDevice.getId().getDeviceId().toString()); _writer.writeElement(RASD_URI, "ResourceType", adjustHardwareResourceType(OvfHardware.Graphics)); writeVmDeviceInfo(vmDevice); _writer.writeEndElement(); // item } } }
public VmHostDevice(VmDevice device) { this(); setId(device.getId()); setDevice(device.getDevice()); setSpecParams(device.getSpecParams()); setAddress(device.getAddress()); setAlias(device.getAlias()); }
private void writeMonitors() { Collection<VmDevice> devices = vmBase.getManagedDeviceMap().values(); int numOfMonitors = vmBase.getNumOfMonitors(); int i = 0; for (VmDevice vmDevice : devices) { if (vmDevice.getType() == VmDeviceGeneralType.VIDEO) { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "Caption", "Graphical Controller"); _writer.writeElement(RASD_URI, "InstanceId", vmDevice.getId().getDeviceId().toString()); _writer.writeElement(RASD_URI, "ResourceType", adjustHardwareResourceType(OvfHardware.Monitor)); // we should write number of monitors for each entry for backward compatibility _writer.writeElement(RASD_URI, "VirtualQuantity", String.valueOf(numOfMonitors)); _writer.writeElement(RASD_URI, "SinglePciQxl", String.valueOf(vmBase.getSingleQxlPci())); writeVmDeviceInfo(vmDevice); _writer.writeEndElement(); // item if (i++ == numOfMonitors) { break; } } } }
@Override protected MapSqlParameterSource createFullParametersMapper(VmDevice entity) { return createIdParameterMapper(entity.getId()) .addValue("device", entity.getDevice()) .addValue("type", entity.getType().getValue()) .addValue("address", entity.getAddress()) .addValue("spec_params", SerializationFactory.getSerializer().serialize(entity.getSpecParams())) .addValue("is_managed", entity.isManaged()) .addValue("is_plugged", entity.isPlugged()) .addValue("is_readonly", entity.getReadOnly()) .addValue("alias", entity.getAlias()) .addValue("custom_properties", SerializationFactory.getSerializer().serialize(entity.getCustomProperties())) .addValue("snapshot_id", entity.getSnapshotId()) .addValue("logical_name", entity.getLogicalName()) .addValue("host_device", entity.getHostDevice()); }
DiskVmElement diskVmElement = new DiskVmElement(device.getId()); diskVmElement.setDiskInterface(DiskInterface.IDE); diskVmElementDao.save(diskVmElement);