use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class HostListModel method onInstall.
public void onInstall() {
final VDS host = getSelectedItem();
InstallModel model = (InstallModel) getWindow();
if (!model.validate(host.isOvirtVintageNode())) {
model.setValidationFailed(new EntityModel<>(true));
return;
}
final UpdateVdsActionParameters param = new UpdateVdsActionParameters();
param.setvds(host);
param.setVdsId(host.getId());
param.setPassword(model.getUserPassword().getEntity());
param.setReinstallOrUpgrade(true);
param.setInstallHost(true);
param.setoVirtIsoFile(null);
param.setOverrideFirewall(model.getOverrideIpTables().getEntity());
param.setActivateHost(model.getActivateHostAfterInstall().getEntity());
param.setAuthMethod(model.getAuthenticationMethod());
// Explicitly set null, to be clear we don't want to update fence agents.
param.setFenceAgents(null);
param.setHostedEngineDeployConfiguration(new HostedEngineDeployConfiguration(model.getHostedEngineHostModel().getSelectedItem()));
Provider<?> networkProvider = (Provider<?>) model.getNetworkProviders().getSelectedItem();
if (networkProvider == null) {
param.getVdsStaticData().setOpenstackNetworkProviderId(null);
} else {
param.getVdsStaticData().setOpenstackNetworkProviderId(networkProvider.getId());
param.setNetworkMappings((String) model.getInterfaceMappings().getEntity());
}
AsyncDataProvider.getInstance().getClusterById(new AsyncQuery<>(returnValue -> Frontend.getInstance().runAction(ActionType.InstallVds, param, result -> {
ActionReturnValue returnValue1 = result.getReturnValue();
if (returnValue1 != null && returnValue1.getSucceeded()) {
cancel();
}
})), host.getClusterId());
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class HostSetupNetworksModel method onEdit.
public void onEdit(NetworkItemModel<?> item) {
Model editPopup = null;
BaseCommandTarget okTarget = null;
if (item instanceof BondNetworkInterfaceModel) {
/**
***************
* Bond Dialog
****************
*/
boolean doesBondHaveVmNetworkAttached = doesBondHaveVmNetworkAttached((NetworkInterfaceModel) item);
BondNetworkInterfaceModel bondModel = (BondNetworkInterfaceModel) item;
final CreateOrUpdateBond createOrUpdateBondParameter = bondModel.getCreateOrUpdateBond();
editPopup = new SetupNetworksEditBondModel(createOrUpdateBondParameter, doesBondHaveVmNetworkAttached);
final SetupNetworksBondModel bondDialogModel = (SetupNetworksBondModel) editPopup;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
if (!bondDialogModel.validate()) {
return;
}
sourceListModel.setConfirmWindow(null);
setBondOptions(createOrUpdateBondParameter, bondDialogModel);
redraw();
}
};
} else if (item instanceof NetworkInterfaceModel) {
/**
*****************
* VFs Config Dialog
******************
*/
final VdsNetworkInterface entity = ((NetworkInterfaceModel) item).getOriginalIface();
final HostNicVfsConfig hostNicVfsConfig = nicToVfsConfig.get(entity.getId());
if (hostNicVfsConfig != null) {
final VfsConfigModel vfsConfigPopupModel = new VfsConfigModel(hostNicVfsConfig, allNetworks, dcLabels);
vfsConfigPopupModel.setTitle(ConstantsManager.getInstance().getMessages().editHostNicVfsConfigTitle(entity.getName()));
editPopup = vfsConfigPopupModel;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand uiCommand) {
if (!vfsConfigPopupModel.validate()) {
return;
}
sourceListModel.setConfirmWindow(null);
commitVfsConfigChanges(hostNicVfsConfig, vfsConfigPopupModel);
redraw();
}
};
}
} else if (item instanceof LogicalNetworkModel) {
/**
***************
* Network Dialog
****************
*/
final LogicalNetworkModel logicalNetworkModel = (LogicalNetworkModel) item;
final VdsNetworkInterface nic;
if (logicalNetworkModel.isInSync()) {
nic = logicalNetworkModel.hasVlan() ? logicalNetworkModel.getVlanDevice() : logicalNetworkModel.getAttachedToNic().getOriginalIface();
} else {
nic = logicalNetworkModel.getVlanDevice() != null ? logicalNetworkModel.getVlanDevice() : logicalNetworkModel.getAttachedToNic().getOriginalIface();
}
final NetworkAttachmentModel networkAttachmentModel;
String version = getEntity().getClusterCompatibilityVersion().getValue();
final Network network = logicalNetworkModel.getNetwork();
final String logicalNetworkModelName = network.getName();
final NetworkAttachment networkAttachment = logicalNetworkModel.getNetworkAttachment();
HostNetworkQos networkQos = qosById.get(network.getQosId());
DnsResolverConfiguration reportedDnsResolverConfiguration = getEntity().getReportedDnsResolverConfiguration();
if (logicalNetworkModel.isManagement()) {
networkAttachmentModel = new ManagementNetworkAttachmentModel(network, nic, networkAttachment, networkQos, reportedDnsResolverConfiguration);
} else {
networkAttachmentModel = new NetworkAttachmentModel(network, nic, networkAttachment, networkQos, reportedDnsResolverConfiguration);
networkAttachmentModel.getIpv4Gateway().setIsAvailable(true);
networkAttachmentModel.getIpv6Gateway().setIsAvailable(false);
}
networkAttachmentModel.getQosOverridden().setIsAvailable(true);
networkAttachmentModel.getQosModel().setIsAvailable(true);
KeyValueModel customPropertiesModel = networkAttachmentModel.getCustomPropertiesModel();
customPropertiesModel.setIsAvailable(true);
Map<String, String> validProperties = KeyValueModel.convertProperties((String) AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigValues.PreDefinedNetworkCustomProperties, version));
// to backend and frontend (lvernia)
if (!network.isVmNetwork()) {
// $NON-NLS-1$
validProperties.remove("bridge_opts");
}
validProperties.putAll(KeyValueModel.convertProperties((String) AsyncDataProvider.getInstance().getConfigValuePreConverted(ConfigValues.UserDefinedNetworkCustomProperties, version)));
customPropertiesModel.setKeyValueMap(validProperties);
customPropertiesModel.deserialize(KeyValueModel.convertProperties(networkAttachment.getProperties()));
networkAttachmentModel.getIsToSync().setIsChangeable(!logicalNetworkModel.isInSync());
networkAttachmentModel.getIsToSync().setEntity(shouldSyncNetwork(logicalNetworkModelName));
networkAttachmentModel.getQosOverridden().setEntity(networkAttachment.isQosOverridden());
editPopup = networkAttachmentModel;
// OK Target
okTarget = new BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
if (!networkAttachmentModel.validate()) {
return;
}
final FromNetworkAttachmentModel interfacePropertiesAccessor = new FromNetworkAttachmentModel(networkAttachmentModel);
LogicalNetworkModelParametersHelper.populateIpv4Details(interfacePropertiesAccessor, networkAttachment.getIpConfiguration().getIpv4PrimaryAddress());
LogicalNetworkModelParametersHelper.populateIpv6Details(interfacePropertiesAccessor, networkAttachment.getIpConfiguration().getIpv6PrimaryAddress());
if (networkAttachmentModel.getQosModel().getIsAvailable()) {
if (networkAttachmentModel.getQosOverridden().getEntity()) {
HostNetworkQos overriddenQos = new HostNetworkQos();
networkAttachmentModel.getQosModel().flush(overriddenQos);
AnonymousHostNetworkQos hostNetworkQos = fromHostNetworkQos(overriddenQos);
networkAttachment.setHostNetworkQos(hostNetworkQos);
} else {
networkAttachment.setHostNetworkQos(null);
}
}
if (networkAttachmentModel.getIsToSync().getEntity()) {
hostSetupNetworksParametersData.getNetworksToSync().add(logicalNetworkModelName);
} else {
hostSetupNetworksParametersData.getNetworksToSync().remove(logicalNetworkModelName);
}
boolean customPropertiesAvailable = networkAttachmentModel.getCustomPropertiesModel().getIsAvailable();
Map<String, String> customProperties = customPropertiesAvailable ? KeyValueModel.convertProperties(networkAttachmentModel.getCustomPropertiesModel().serialize()) : null;
networkAttachment.setProperties(customProperties);
networkAttachment.setDnsResolverConfiguration(networkAttachmentModel.getDnsConfigurationModel().flush());
sourceListModel.setConfirmWindow(null);
redraw();
}
};
}
// ok command
// $NON-NLS-1$
UICommand okCommand = UICommand.createDefaultOkUiCommand("OK", okTarget);
// cancel command
UICommand cancelCommand = new UICommand("Cancel", new // $NON-NLS-1$
BaseCommandTarget() {
@Override
public void executeCommand(UICommand command) {
sourceListModel.setConfirmWindow(null);
}
});
cancelCommand.setTitle(ConstantsManager.getInstance().getConstants().cancel());
cancelCommand.setIsCancel(true);
if (editPopup != null) {
editPopup.getCommands().add(okCommand);
editPopup.getCommands().add(cancelCommand);
}
sourceListModel.setConfirmWindow(editPopup);
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class StorageModule method getStorageDataCenterListProvider.
// Searchable Detail Models
@Provides
@Singleton
public SearchableDetailModelProvider<StorageDomain, StorageListModel, StorageDataCenterListModel> getStorageDataCenterListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<FindSingleDcPopupPresenterWidget> singlePopupProvider, final Provider<FindMultiDcPopupPresenterWidget> multiPopupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<StorageListModel> mainModelProvider, final Provider<StorageDataCenterListModel> modelProvider) {
SearchableDetailTabModelProvider<StorageDomain, StorageListModel, StorageDataCenterListModel> result = new SearchableDetailTabModelProvider<StorageDomain, StorageListModel, StorageDataCenterListModel>(eventBus, defaultConfirmPopupProvider) {
@Override
public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(StorageDataCenterListModel source, UICommand lastExecutedCommand, Model windowModel) {
StorageDataCenterListModel model = getModel();
if (lastExecutedCommand == model.getAttachCommand()) {
if (model.getAttachMultiple()) {
return multiPopupProvider.get();
} else {
return singlePopupProvider.get();
}
} else {
return super.getModelPopup(source, lastExecutedCommand, windowModel);
}
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(StorageDataCenterListModel source, UICommand lastExecutedCommand) {
if (lastExecutedCommand == getModel().getDetachCommand() || lastExecutedCommand.getName().equals("OnAttach")) {
// $NON-NLS-1$) {
return removeConfirmPopupProvider.get();
} else if (lastExecutedCommand == getModel().getMaintenanceCommand() || lastExecutedCommand.getName().equals("OnMaintenance")) {
// $NON-NLS-1$) {
return removeConfirmPopupProvider.get();
} else {
return super.getConfirmModelPopup(source, lastExecutedCommand);
}
}
};
result.setMainModelProvider(mainModelProvider);
result.setModelProvider(modelProvider);
return result;
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class TemplateModule method getTemplateListProvider.
// Main List Model
@Provides
@Singleton
public MainModelProvider<VmTemplate, TemplateListModel> getTemplateListProvider(EventBus eventBus, final Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<TemplateEditPresenterWidget> popupProvider, final Provider<VmExportPopupPresenterWidget> exportPopupProvider, final Provider<VmPopupPresenterWidget> createVmPopupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<TemplateListModel> modelProvider, final Provider<VmDiskPopupPresenterWidget> newDiskPopupProvider, final Provider<SingleSelectionVmDiskAttachPopupPresenterWidget> attachDiskPopupProvider, final Provider<VmHighPerformanceConfigurationPresenterWidget> highPerformanceConfigurationProvider) {
MainViewModelProvider<VmTemplate, TemplateListModel> result = new MainViewModelProvider<VmTemplate, TemplateListModel>(eventBus, defaultConfirmPopupProvider) {
@Override
public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(TemplateListModel source, UICommand lastExecutedCommand, Model windowModel) {
TemplateListModel model = getModel();
if (lastExecutedCommand == model.getEditCommand()) {
return popupProvider.get();
} else if (lastExecutedCommand == getModel().getExportCommand()) {
return exportPopupProvider.get();
} else if (lastExecutedCommand == getModel().getCreateVmFromTemplateCommand()) {
if (windowModel instanceof AttachDiskModel) {
return attachDiskPopupProvider.get();
} else if ((windowModel instanceof NewDiskModel) || (windowModel instanceof EditDiskModel)) {
return newDiskPopupProvider.get();
} else {
return createVmPopupProvider.get();
}
} else {
return super.getModelPopup(source, lastExecutedCommand, windowModel);
}
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(TemplateListModel source, UICommand lastExecutedCommand) {
if (lastExecutedCommand == getModel().getRemoveCommand()) {
return removeConfirmPopupProvider.get();
} else if ("OnSave".equals(lastExecutedCommand.getName())) {
// $NON-NLS-1$
return defaultConfirmPopupProvider.get();
} else if (// $NON-NLS-1$
"OnSaveVm".equals(lastExecutedCommand.getName()) && source.getConfirmWindow() instanceof VmHighPerformanceConfigurationModel) {
return highPerformanceConfigurationProvider.get();
} else {
return super.getConfirmModelPopup(source, lastExecutedCommand);
}
}
};
result.setModelProvider(modelProvider);
return result;
}
use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.
the class VirtualMachineModule method getVmInterfaceListProvider.
@Provides
@Singleton
public SearchableDetailModelProvider<VmNetworkInterface, VmListModel<Void>, VmInterfaceListModel> getVmInterfaceListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<VmInterfacePopupPresenterWidget> popupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<VmListModel<Void>> mainModelProvider, final Provider<VmInterfaceListModel> modelProvider) {
SearchableDetailTabModelProvider<VmNetworkInterface, VmListModel<Void>, VmInterfaceListModel> result = new SearchableDetailTabModelProvider<VmNetworkInterface, VmListModel<Void>, VmInterfaceListModel>(eventBus, defaultConfirmPopupProvider) {
@Override
public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(VmInterfaceListModel source, UICommand lastExecutedCommand, Model windowModel) {
VmInterfaceListModel model = getModel();
if (lastExecutedCommand == model.getNewCommand() || lastExecutedCommand == model.getEditCommand()) {
return popupProvider.get();
} else {
return super.getModelPopup(source, lastExecutedCommand, windowModel);
}
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(VmInterfaceListModel source, UICommand lastExecutedCommand) {
if (lastExecutedCommand == getModel().getRemoveCommand()) {
return removeConfirmPopupProvider.get();
} else {
return super.getConfirmModelPopup(source, lastExecutedCommand);
}
}
};
result.setMainModelProvider(mainModelProvider);
result.setModelProvider(modelProvider);
return result;
}
Aggregations