use of org.ovirt.engine.ui.uicompat.Event in project ovirt-engine by oVirt.
the class ClusterModel method storagePool_SelectedItemChanged.
private void storagePool_SelectedItemChanged() {
// possible versions for new cluster (when editing cluster, this event won't occur)
// are actually the possible versions for the data-center that the cluster is going
// to be attached to.
final StoragePool selectedDataCenter = getDataCenter().getSelectedItem();
if (selectedDataCenter == null) {
getManagementNetwork().setItems(Collections.emptyList());
return;
}
if (selectedDataCenter.isLocal()) {
setMigrationTabAvailable(false);
} else {
setMigrationTabAvailable(true);
}
AsyncDataProvider.getInstance().getDataCenterVersions(new AsyncQuery<>(new AsyncCallback<List<Version>>() {
@Override
public void onSuccess(List<Version> versions) {
Version versionToSelect = calculateNewVersionWhichShouldBeSelected(versions);
getVersion().setItems(versions, versionToSelect);
}
private Version calculateNewVersionWhichShouldBeSelected(List<Version> versions) {
ListModel<Version> version = getVersion();
Version selectedVersion = version.getSelectedItem();
if (!getIsEdit() && (selectedVersion == null || !versions.contains(selectedVersion) || selectedVersion.compareTo(selectedDataCenter.getCompatibilityVersion()) > 0)) {
if (ApplicationModeHelper.getUiMode().equals(ApplicationMode.GlusterOnly)) {
return versions.stream().max(Comparator.naturalOrder()).orElse(null);
} else {
return selectedDataCenter.getCompatibilityVersion();
}
} else if (getIsEdit()) {
return Linq.firstOrNull(versions, x -> x.equals(getEntity().getCompatibilityVersion()));
} else {
return selectedVersion;
}
}
}), ApplicationModeHelper.getUiMode().equals(ApplicationMode.GlusterOnly) ? null : selectedDataCenter.getId());
if (getManagementNetwork().getIsChangable()) {
loadDcNetworks(selectedDataCenter.getId());
}
}
use of org.ovirt.engine.ui.uicompat.Event in project ovirt-engine by oVirt.
the class RoleListModel method eventRaised.
@Override
public void eventRaised(Event ev, Object sender, EventArgs args) {
super.eventRaised(ev, sender, args);
if (getWindow() != null && sender == ((RoleModel) getWindow()).getIsAdminRole()) {
if (commandType == CommandType.New) {
List<ActionGroup> selectedActionGroups = new ArrayList<>();
selectedActionGroups.add(ActionGroup.LOGIN);
setAttachedActionGroups(selectedActionGroups);
} else {
Role role = getSelectedItem();
Frontend.getInstance().runQuery(QueryType.GetRoleActionGroupsByRoleId, new IdQueryParameters(role.getId()), new AsyncQuery<QueryReturnValue>(returnValue -> {
publicAttachedActions = returnValue.getReturnValue();
setAttachedActionGroups(publicAttachedActions);
}));
}
}
}
use of org.ovirt.engine.ui.uicompat.Event in project ovirt-engine by oVirt.
the class HeaderPresenterWidget method onBind.
@SuppressWarnings("unchecked")
@Override
protected void onBind() {
super.onBind();
registerHandler(getView().getLogoutLink().addClickHandler(event -> user.logout()));
registerHandler(getView().getGuideLink().addClickHandler(event -> WebUtils.openUrlInNewWindow(windowName, guideUrl)));
registerHandler(getView().getOptionsLink().addClickHandler(event -> {
OptionsModel model = optionsProvider.getModel();
model.executeCommand(model.getEditCommand());
}));
registerHandler(getView().getAboutLink().addClickHandler(event -> RevealRootPopupContentEvent.fire(HeaderPresenterWidget.this, aboutPopupProvider.get())));
registerHandler(getView().getTasksWidget().addClickHandler(event -> toggleOverlayPresenter(tasksPresenter)));
registerHandler(getView().getBookmarkLink().addClickHandler(event -> toggleOverlayPresenter(bookmarksPresenter)));
registerHandler(getView().getTagsLink().addClickHandler(event -> toggleOverlayPresenter(tagsPresenter)));
getView().getAlertActionWidget().addAction(constants.dismissAlert(), this.alertModelProvider.getModel().getDismissCommand(), (command, log) -> {
AlertListModel model = alertModelProvider.getModel();
if (log != null) {
model.setSelectedItem(log);
model.executeCommand(command);
}
});
getView().getAlertActionWidget().addClearAllAction(constants.clearAllDismissedAlerts(), this.alertModelProvider.getModel().getClearAllCommand(), (command, log) -> alertModelProvider.getModel().executeCommand(command));
getView().getAlertActionWidget().addRestoreAllAction(constants.displayAllDismissedAlerts(), this.alertModelProvider.getModel().getDisplayAllCommand(), (command, log) -> alertModelProvider.getModel().executeCommand(command));
getView().getEventActionWidget().addAction(constants.dismissEvent(), this.eventModelProvider.getModel().getDismissCommand(), (command, log) -> {
EventListModel<?> model = eventModelProvider.getModel();
if (log != null) {
model.setSelectedItem(log);
model.executeCommand(command);
}
});
getView().getEventActionWidget().addClearAllAction(constants.clearAllDismissedEvents(), this.eventModelProvider.getModel().getClearAllCommand(), (command, log) -> eventModelProvider.getModel().executeCommand(command));
getView().getEventActionWidget().addRestoreAllAction(constants.displayAllDismissedEvents(), this.eventModelProvider.getModel().getDisplayAllCommand(), (command, log) -> eventModelProvider.getModel().executeCommand(command));
taskModelProvider.getModel().getItemsChangedEvent().addListener(new IEventListener<EventArgs>() {
@Override
public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) {
Collection<Job> jobs = taskModelProvider.getModel().getItems();
long count = jobs.stream().filter(job -> JobExecutionStatus.STARTED.equals(job.getStatus())).count();
// I know I will never have more than 100 items, so I can cast to int.
getView().setRunningTaskCount((int) count);
}
});
alertModelProvider.getModel().getItemsChangedEvent().addListener(new IEventListener<EventArgs>() {
@Override
public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) {
Collection<AuditLog> alerts = alertModelProvider.getModel().getItems();
long count = alerts.stream().filter(alert -> AuditLogSeverity.ALERT.equals(alert.getSeverity())).count();
// I know I will never have more than 100 items, so I can cast to int.
getView().setAlertCount((int) count);
}
});
}
use of org.ovirt.engine.ui.uicompat.Event in project ovirt-engine by oVirt.
the class TasksPresenterWidget method onBind.
@SuppressWarnings("unchecked")
@Override
public void onBind() {
super.onBind();
taskModelProvider.getModel().getItemsChangedEvent().addListener(new IEventListener<EventArgs>() {
@Override
public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) {
getView().updateTaskStatus(taskModelProvider.getModel());
Collection<Job> jobs = taskModelProvider.getModel().getItems();
jobs.forEach(job -> {
String id = job.getCorrelationId().startsWith(TaskListModel.WEBADMIN) ? job.getCorrelationId() : job.getId().toString();
if (JobExecutionStatus.STARTED.equals(job.getStatus())) {
// Since its a set, it will be replaced when its a duplicate.
runningTasks.add(id);
} else if (JobExecutionStatus.FINISHED.equals(job.getStatus()) || JobExecutionStatus.FAILED.equals(job.getStatus()) || JobExecutionStatus.ABORTED.equals(job.getStatus())) {
if (runningTasks.contains(id) || (ACTION_TYPE_WHITELIST.contains(job.getActionType()) && job.getEndTime().after(lastNotificationDate))) {
ToastNotification notification = ToastNotification.createNotification(// $NON-NLS-1$
getPrefixText(job.getStatus()) + " " + job.getDescription());
notification.setStatus(getNotificationStatus(job.getStatus()));
}
runningTasks.remove(id);
}
lastNotificationDate = new Date();
});
}
});
}
use of org.ovirt.engine.ui.uicompat.Event in project ovirt-engine by oVirt.
the class NetworkModel method createDefaultProfile.
private VnicProfileModel createDefaultProfile() {
final VnicProfileModel defaultProfile = new NewVnicProfileModel();
// make sure default profile's name is in sync with network's name
defaultProfile.getName().setEntity(getName().getEntity());
final IEventListener<EventArgs> networkNameListener = (ev, sender, args) -> defaultProfile.getName().setEntity(getName().getEntity());
getName().getEntityChangedEvent().addListener(networkNameListener);
// if user overrides default name, stop tracking network's name
defaultProfile.getName().getEntityChangedEvent().addListener(new IEventListener<EventArgs>() {
@Override
public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) {
String defaultProfileName = defaultProfile.getName().getEntity();
if ((defaultProfileName != null) && (!defaultProfileName.equals(getName().getEntity()))) {
getName().getEntityChangedEvent().removeListener(networkNameListener);
defaultProfile.getName().getEntityChangedEvent().removeListener(this);
}
}
});
return defaultProfile;
}
Aggregations