use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class VmBaseListModel method showWarningOnExistingEntities.
protected void showWarningOnExistingEntities(final ExportVmModel model, final QueryType getVmOrTemplateQuery) {
Guid storageDomainId = model.getStorage().getSelectedItem().getId();
AsyncDataProvider.getInstance().getDataCentersByStorageDomain(new AsyncQuery<>(storagePools -> postShowWarningOnExistingVms(model, storagePools, getVmOrTemplateQuery)), storageDomainId);
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class VmBaseListModel method export.
protected void export() {
T selectedEntity = getSelectedItem();
if (selectedEntity == null) {
return;
}
if (getWindow() != null) {
return;
}
ExportVmModel model = new ExportVmModel();
setWindow(model);
model.startProgress();
setupExportModel(model);
AsyncDataProvider.getInstance().getStorageDomainList(new AsyncQuery<>(storageDomains -> {
List<StorageDomain> filteredStorageDomains = new ArrayList<>();
for (StorageDomain a : storageDomains) {
if (a.getStorageDomainType() == StorageDomainType.ImportExport) {
filteredStorageDomains.add(a);
}
}
postExportGetStorageDomainList(filteredStorageDomains);
}), extractStoragePoolIdNullSafe(selectedEntity));
// check, if the VM has a disk which doesn't allow snapshot
sendWarningForNonExportableDisks(selectedEntity);
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class StorageDataCenterListModel method onDetach.
private void onDetach() {
final ConfirmationModel model = (ConfirmationModel) getWindow();
if (!model.validate()) {
return;
}
setdetachPrms(new ArrayList<ActionParametersBase>());
setremovePrms(new ArrayList<ActionParametersBase>());
for (Object item : getSelectedItems()) {
StorageDomain storageDomain = (StorageDomain) item;
if (storageDomain.getStorageType() != StorageType.LOCALFS) {
DetachStorageDomainFromPoolParameters param = new DetachStorageDomainFromPoolParameters();
param.setStorageDomainId(getEntity().getId());
if (storageDomain.getStoragePoolId() != null) {
param.setStoragePoolId(storageDomain.getStoragePoolId());
}
getdetachPrms().add(param);
} else {
AsyncDataProvider.getInstance().getLocalStorageHost(new AsyncQuery<>(locaVds -> {
StorageDomain storage = getEntity();
RemoveStorageDomainParameters tempVar = new RemoveStorageDomainParameters(storage.getId());
tempVar.setVdsId(locaVds != null ? locaVds.getId() : null);
tempVar.setDoFormat(model.getForce().getEntity());
RemoveStorageDomainParameters removeStorageDomainParameters = tempVar;
getremovePrms().add(removeStorageDomainParameters);
if (getremovePrms().size() + getdetachPrms().size() == getSelectedItems().size()) {
Frontend.getInstance().runMultipleAction(ActionType.RemoveStorageDomain, getremovePrms());
}
}), storageDomain.getStoragePoolName());
}
if (getdetachPrms().size() > 0) {
Frontend.getInstance().runMultipleAction(ActionType.DetachStorageDomainFromPool, getdetachPrms());
}
}
cancel();
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class UploadImageModel method initiateResumeUpload.
private void initiateResumeUpload() {
TransferImageStatusParameters parameters = new TransferImageStatusParameters();
parameters.setDiskId(getDiskModel().getDisk().getId());
startProgress();
final UploadImageModel model = this;
UploadImageManager.getInstance().resumeUpload(getImageFileUploadElement(), parameters, new AsyncQuery<>(errorMessage -> {
model.stopProgress();
if (errorMessage != null) {
model.setMessage(errorMessage);
} else {
// Close dialog
model.getCancelCommand().execute();
}
}));
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class ModelBoundPopupHandler method handleWindowModelChange.
/**
* Handles the change of given property (as defined by {@code propertyName})
* for the given model.
* <p>
* {@code currentPopup} represents the GWTP popup instance associated with the
* property (can be {@code null} to indicate that the associated popup is not
* active at the moment).
* <p>
* {@code isConfirmation} is used to differentiate between "Window"-like and
* "ConfirmWindow"-like properties:
* <ul>
* <li>"Window"-like properties have popups resolved via
* {@link ModelBoundPopupResolver#getModelPopup} method</li>
* <li>"ConfirmWindow"-like properties have popups resolved via
* {@link ModelBoundPopupResolver#getConfirmModelPopup} method</li>
* </ul>
*/
@SuppressWarnings("unchecked")
void handleWindowModelChange(M sourceModel, String propertyName, AbstractModelBoundPopupPresenterWidget<?, ?> currentPopup, boolean isConfirmation) {
// Model behind the popup
Model windowModel = isConfirmation ? sourceModel.getConfirmWindowProperties().get(propertyName) : sourceModel.getWindowProperties().get(propertyName);
// Reveal new popup
if (windowModel != null && currentPopup == null) {
// 1. Resolve
AbstractModelBoundPopupPresenterWidget<?, ?> newPopup = null;
UICommand lastExecutedCommand = sourceModel.getLastExecutedCommand();
if (windowModel instanceof ConfirmationModel) {
// Resolve confirmation popup
newPopup = popupResolver.getConfirmModelPopup(sourceModel, lastExecutedCommand);
if (newPopup == null && defaultConfirmPopupProvider != null) {
// Fall back to basic confirmation popup
newPopup = defaultConfirmPopupProvider.get();
}
} else {
// Resolve main popup
newPopup = popupResolver.getModelPopup(sourceModel, lastExecutedCommand, windowModel);
}
// 2. Reveal
if (newPopup != null) {
revealAndAssignPopup(windowModel, propertyName, (AbstractModelBoundPopupPresenterWidget<Model, ?>) newPopup, isConfirmation);
} else {
if (isConfirmation) {
sourceModel.setConfirmWindowProperty(propertyName, null);
} else {
sourceModel.setWindowProperty(propertyName, null);
}
}
} else // Close existing popup
if (windowModel == null && currentPopup != null) {
hideAndClearPopup(propertyName, currentPopup, isConfirmation);
}
}
Aggregations