use of org.ovirt.engine.ui.uicommonweb.models.EntityModel in project ovirt-engine by oVirt.
the class DiskModel method diskToModel.
public static DiskModel diskToModel(Disk disk) {
DiskModel diskModel = new DiskModel();
diskModel.getAlias().setEntity(disk.getDiskAlias());
if (disk.getDiskStorageType() == DiskStorageType.IMAGE) {
DiskImage diskImage = (DiskImage) disk;
EntityModel<Integer> sizeEntity = new EntityModel<>();
sizeEntity.setEntity((int) diskImage.getSizeInGigabytes());
diskModel.setSize(sizeEntity);
ListModel<VolumeType> volumeList = new ListModel<>();
volumeList.setItems(diskImage.getVolumeType() == VolumeType.Preallocated ? new ArrayList<>(Arrays.asList(new VolumeType[] { VolumeType.Preallocated })) : AsyncDataProvider.getInstance().getVolumeTypeList());
volumeList.setSelectedItem(diskImage.getVolumeType());
diskModel.setVolumeType(volumeList);
}
diskModel.setDisk(disk);
return diskModel;
}
use of org.ovirt.engine.ui.uicommonweb.models.EntityModel in project ovirt-engine by oVirt.
the class HostPopupView method edit.
@Override
public void edit(final HostModel object) {
driver.edit(object);
setTabIndexes(0);
object.getFetchResult().getEntityChangedEvent().addListener((ev, sender, args) -> {
String fetchResultText = object.getFetchResult().getEntity();
if (ConstantsManager.getInstance().getConstants().errorLoadingFingerprint().equals(fetchResultText)) {
fetchResult.addStyleName(style.fetchResultErrorLabel());
} else {
fetchResult.removeStyleName(style.fetchResultErrorLabel());
}
fetchResult.setText(fetchResultText);
});
object.getPkSection().getPropertyChangedEvent().addListener((ev, sender, args) -> {
if ("IsAvailable".equals(args.propertyName)) {
// $NON-NLS-1$
setPkPasswordSectionVisiblity(false);
}
});
object.getProviders().getSelectedItemChangedEvent().addListener((ev, sender, args) -> object.updateHosts());
object.getExternalHostProviderEnabled().getEntityChangedEvent().addListener((ev, sender, args) -> {
boolean showForemanProviders = object.getExternalHostProviderEnabled().getEntity();
boolean doProvisioning = object.externalProvisionEnabled();
boolean isProvisioned = showForemanProviders && doProvisioning;
providersEditor.setVisible(showForemanProviders);
// showing or hiding radio buttons
provisionedHostSection.setVisible(isProvisioned);
discoveredHostSection.setVisible(isProvisioned);
// disabling ip and name textbox when using provisioned hosts
hostAddressEditor.setEnabled(!isProvisioned);
hostAddressLabel.setStyleName(OvirtCss.LABEL_DISABLED, isProvisioned);
if (isProvisioned) {
object.updateHosts();
object.getIsDiscoveredHosts().setEntity(true);
} else {
if (doProvisioning) {
object.cleanHostParametersFields();
}
hideProviderWidgets(object);
object.getIsDiscoveredHosts().setEntity(null);
}
});
object.getIsDiscoveredHosts().getEntityChangedEvent().addListener((ev, sender, args) -> {
if (object.getIsDiscoveredHosts().getEntity() != null) {
if (object.getIsDiscoveredHosts().getEntity()) {
rbDiscoveredHost.asRadioButton().setValue(true);
showDiscoveredHostsWidgets(true);
} else if (!object.getIsDiscoveredHosts().getEntity()) {
rbProvisionedHost.asRadioButton().setValue(true);
showProvisionedHostsWidgets(true);
}
}
});
nameEditor.asValueBox().addKeyDownHandler(event -> Scheduler.get().scheduleDeferred(() -> {
if (object.getExternalHostProviderEnabled().getEntity() && Boolean.TRUE.equals(object.getIsDiscoveredHosts().getEntity())) {
ExternalHostGroup dhg = (ExternalHostGroup) object.getExternalHostGroups().getSelectedItem();
if (dhg != null) {
String base = nameEditor.asEditor().getSubEditor().getValue();
if (base == null) {
base = constants.empty();
}
String generatedHostName = // $NON-NLS-1$
base + "." + (dhg.getDomainName() != null ? dhg.getDomainName() : constants.empty());
object.getHost().setEntity(generatedHostName);
}
}
}));
if (object.isPasswordSectionViewable()) {
rbPassword.setValue(true);
rbPassword.setFocus(true);
fetchSshFingerprint.hideLabel();
object.setAuthenticationMethod(AuthenticationMethod.Password);
displayPassPkWindow(true);
rbPassword.addClickHandler(event -> {
object.setAuthenticationMethod(AuthenticationMethod.Password);
displayPassPkWindow(true);
});
rbPublicKey.addClickHandler(event -> {
object.setAuthenticationMethod(AuthenticationMethod.PublicKey);
displayPassPkWindow(false);
});
} else {
passwordSection.getElement().getStyle().setDisplay(Display.NONE);
rbPublicKey.getElement().getStyle().setDisplay(Display.NONE);
rbPublicKeyLabel.setStyleName(OvirtCss.LABEL_DISABLED);
object.setAuthenticationMethod(AuthenticationMethod.PublicKey);
}
updateHostsButton.setResource(resources.searchButtonImage());
// Create SPM related controls.
IEventListener<EventArgs> spmListener = (ev, sender, args) -> createSpmControls(object);
object.getSpmPriority().getItemsChangedEvent().addListener(spmListener);
object.getSpmPriority().getSelectedItemChangedEvent().addListener(spmListener);
createSpmControls(object);
initExternalHostProviderWidgets(object.showExternalProviderPanel());
// TODO: remove setIsChangeable when configured ssh username is enabled
userNameEditor.setEnabled(false);
networkProviderTab.setVisible(object.showNetworkProviderTab());
networkProviderWidget.edit(object.getNetworkProviderModel());
this.fenceAgentsEditor.edit(object.getFenceAgentListModel());
this.proxySourceEditor.edit(object.getPmProxyPreferencesList());
addTextAndLinkAlert(fetchPanel, constants.fetchingHostFingerprint(), object.getSSHFingerPrint());
providerSearchFilterLabel.setText(constants.hostPopupProviderSearchFilter());
nameEditor.setFocus(true);
hostedEngineTab.setVisible(object.getIsHeSystem() && object.getIsNew());
object.getHostedEngineWarning().getPropertyChangedEvent().addListener((ev, sender, args) -> {
EntityModel entity = (EntityModel) sender;
if ("IsAvailable".equals(args.propertyName)) {
// $NON-NLS-1$
hostedEngineWarningLabel.setVisible(entity.getIsAvailable());
}
});
affinityLabelSelectionWidget.init(object.getLabelList());
}
use of org.ovirt.engine.ui.uicommonweb.models.EntityModel in project ovirt-engine by oVirt.
the class MultipleHostsPopupView method initTableColumns.
private void initTableColumns() {
Column<EntityModel, String> nameColumn = new Column<EntityModel, String>(new TextInputCell()) {
@Override
public String getValue(EntityModel object) {
return ((HostDetailModel) object.getEntity()).getName();
}
};
// $NON-NLS-1$
hostsTable.addColumn(nameColumn, constants.nameHost(), "50px");
nameColumn.setFieldUpdater((index, object, value) -> ((HostDetailModel) object.getEntity()).setName(value));
hostsTable.addColumn(new AbstractEntityModelTextColumn<HostDetailModel>() {
@Override
public String getText(HostDetailModel hostModel) {
return hostModel.getAddress();
}
}, constants.ipHost(), // $NON-NLS-1$
"100px");
Column<EntityModel, String> passwordColumn = new Column<EntityModel, String>(new PasswordTextInputCell()) {
@Override
public String getValue(EntityModel object) {
return ((HostDetailModel) object.getEntity()).getPassword();
}
};
// $NON-NLS-1$
hostsTable.addColumn(passwordColumn, constants.hostPopupPasswordLabel(), "100px");
passwordColumn.setFieldUpdater((index, object, value) -> ((HostDetailModel) object.getEntity()).setPassword(value));
hostsTable.addColumn(new AbstractEntityModelTextColumn<HostDetailModel>() {
@Override
public String getText(HostDetailModel hostModel) {
return hostModel.getFingerprint();
}
}, constants.hostsPopupFingerprint(), // $NON-NLS-1$
"300px");
}
use of org.ovirt.engine.ui.uicommonweb.models.EntityModel in project ovirt-engine by oVirt.
the class DisksAllocationPopupView method edit.
@Override
public void edit(DisksAllocationModel object) {
driver.edit(object);
disksAllocationView.edit(object);
disksAllocationModel = object;
object.getDynamicWarning().getPropertyChangedEvent().addListener((ev, sender, args) -> {
EntityModel ownerModel = (EntityModel) sender;
String propName = ((PropertyChangedEventArgs) args).propertyName;
if ("IsAvailable".equals(propName)) {
// $NON-NLS-1$
warningMessage.setVisible(ownerModel.getIsAvailable());
}
});
}
use of org.ovirt.engine.ui.uicommonweb.models.EntityModel in project ovirt-engine by oVirt.
the class HostPopupView method createSpmControls.
private void createSpmControls(final HostModel object) {
Row labelRow = (Row) spmContainer.getWidget(0);
spmContainer.clear();
spmContainer.add(labelRow);
Iterable<?> items = object.getSpmPriority().getItems();
if (items == null) {
return;
}
// Recreate SPM related controls.
for (Object item : items) {
@SuppressWarnings("unchecked") final EntityModel<Integer> model = (EntityModel<Integer>) item;
// $//$NON-NLS-1$
RadioButton rb = new RadioButton("spm");
rb.setText(model.getTitle());
Element labelElement = (Element) rb.getElement().getChild(1);
labelElement.addClassName(style.patternFlyRadio());
rb.setValue(object.getSpmPriority().getSelectedItem() == model);
rb.addValueChangeHandler(e -> object.getSpmPriority().setSelectedItem(model));
Row row = new Row();
Column column = new Column(ColumnSize.SM_12, rb);
row.add(column);
spmContainer.add(row);
}
}
Aggregations