use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DisksViewColumns method getQoutaColumn.
public static AbstractTextColumn<Disk> getQoutaColumn(String sortBy) {
AbstractTextColumn<Disk> column = new AbstractTextColumn<Disk>() {
@Override
public String getValue(Disk object) {
String value = "";
if (object.getDiskStorageType() == DiskStorageType.IMAGE) {
DiskImage diskImage = (DiskImage) object;
List<String> quotaNamesArr = diskImage.getQuotaNames();
if (quotaNamesArr != null) {
// $NON-NLS-1$
value = String.join(", ", quotaNamesArr);
}
}
return value;
}
};
return makeSortable(column, sortBy);
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class VmListModel method initRemoveDisksChecboxesPost.
private void initRemoveDisksChecboxesPost(Guid vmId, List<Disk> disks) {
EntityModel model = vmsRemoveMap.get(vmId);
if (disks.isEmpty()) {
updateRemoveDisksCheckBox(model, false, false, ConstantsManager.getInstance().getConstants().removeVmDisksNoDisksMsg());
return;
}
boolean isOnlySharedDisks = true;
boolean isSnapshotExists = false;
for (Disk disk : disks) {
if (!disk.isShareable()) {
isOnlySharedDisks = false;
if (disk.getDiskStorageType() == DiskStorageType.IMAGE) {
if (((DiskImage) disk).getSnapshots().size() > 1) {
isSnapshotExists = true;
break;
}
}
}
}
if (isSnapshotExists) {
updateRemoveDisksCheckBox(model, true, false, ConstantsManager.getInstance().getConstants().removeVmDisksSnapshotsMsg());
return;
}
if (isOnlySharedDisks) {
updateRemoveDisksCheckBox(model, false, false, ConstantsManager.getInstance().getConstants().removeVmDisksAllSharedMsg());
return;
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class VmListModel method initRemoveDisksCheckboxes.
private void initRemoveDisksCheckboxes(final Map<Guid, EntityModel> vmsMap) {
ArrayList<QueryParametersBase> params = new ArrayList<>();
ArrayList<QueryType> queries = new ArrayList<>();
for (Entry<Guid, EntityModel> entry : vmsMap.entrySet()) {
if (entry.getValue().getIsChangable()) {
// No point in fetching VM disks from ones that already determined
// is unchangeable since they are already initialized
params.add(new IdQueryParameters(entry.getKey()));
queries.add(QueryType.GetAllDisksByVmId);
}
}
// revise when refactoring org.ovirt.engine.ui.Frontend to support runMultipleQuery with a single query
if (!params.isEmpty()) {
Frontend.getInstance().runMultipleQueries(queries, params, result -> {
for (int i = 0; i < result.getReturnValues().size(); i++) {
if (result.getReturnValues().get(i).getSucceeded()) {
Guid vmId = ((IdQueryParameters) result.getParameters().get(i)).getId();
initRemoveDisksChecboxesPost(vmId, (List<Disk>) result.getReturnValues().get(i).getReturnValue());
}
}
});
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class ImportVmCommand method getQuotaStorageConsumptionParameters.
@Override
public List<QuotaConsumptionParameter> getQuotaStorageConsumptionParameters() {
List<QuotaConsumptionParameter> list = new ArrayList<>();
for (Disk disk : getParameters().getVm().getDiskMap().values()) {
// TODO: handle import more than once;
if (disk instanceof DiskImage) {
DiskImage diskImage = (DiskImage) disk;
list.add(new QuotaStorageConsumptionParameter(diskImage.getQuotaId(), null, QuotaConsumptionParameter.QuotaAction.CONSUME, imageToDestinationDomainMap.get(diskImage.getId()), (double) diskImage.getSizeInGigabytes()));
}
}
return list;
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class GetStorageDomainsByVmTemplateIdQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
vmTemplate = vmTemplateDao.get(getParameters().getId(), getUserID(), getParameters().isFiltered());
ArrayList<StorageDomain> result = new ArrayList<>();
if (vmTemplate != null && vmTemplate.getStoragePoolId() != null) {
List<Disk> templateDisks = getTemplateDisks();
if (templateDisks.size() > 0) {
Set<Guid> domains = new HashSet<>();
for (Disk templateDisk : templateDisks) {
domains.addAll(((DiskImage) templateDisk).getStorageIds());
}
for (Guid domainId : domains) {
StorageDomain domain = getStorageDomain(domainId);
if (domain != null) {
result.add(domain);
}
}
}
}
getQueryReturnValue().setReturnValue(result);
}
Aggregations