Search in sources :

Example 1 with Job

use of org.ovirt.engine.core.common.job.Job 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);
        }
    });
}
Also used : RevealRootPopupContentEvent(com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent) AssetProvider(org.ovirt.engine.ui.webadmin.gin.AssetProvider) Job(org.ovirt.engine.core.common.job.Job) Inject(com.google.inject.Inject) IEventListener(org.ovirt.engine.ui.uicompat.IEventListener) Event(org.ovirt.engine.ui.uicompat.Event) EventModelProvider(org.ovirt.engine.ui.webadmin.uicommon.model.EventModelProvider) EventListModel(org.ovirt.engine.ui.uicommonweb.models.events.EventListModel) AlertModelProvider(org.ovirt.engine.ui.webadmin.uicommon.model.AlertModelProvider) ActionWidget(org.ovirt.engine.ui.webadmin.widget.alert.ActionWidget) ApplicationConstants(org.ovirt.engine.ui.webadmin.ApplicationConstants) BookmarkPresenterWidget(org.ovirt.engine.ui.webadmin.section.main.presenter.overlay.BookmarkPresenterWidget) OptionsModel(org.ovirt.engine.ui.uicommonweb.models.OptionsModel) TagsPresenterWidget(org.ovirt.engine.ui.webadmin.section.main.presenter.overlay.TagsPresenterWidget) AlertListModel(org.ovirt.engine.ui.uicommonweb.models.events.AlertListModel) PresenterWidget(com.gwtplatform.mvp.client.PresenterWidget) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs) TasksPresenterWidget(org.ovirt.engine.ui.webadmin.section.main.presenter.overlay.TasksPresenterWidget) CurrentUser(org.ovirt.engine.ui.common.auth.CurrentUser) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) WebUtils(org.ovirt.engine.ui.common.utils.WebUtils) JobExecutionStatus(org.ovirt.engine.core.common.job.JobExecutionStatus) HasData(com.google.gwt.view.client.HasData) EventBus(com.google.gwt.event.shared.EventBus) View(com.gwtplatform.mvp.client.View) Collection(java.util.Collection) OptionsProvider(org.ovirt.engine.ui.common.uicommon.model.OptionsProvider) AuditLog(org.ovirt.engine.core.common.businessentities.AuditLog) HasClickHandlers(com.google.gwt.event.dom.client.HasClickHandlers) Provider(com.google.inject.Provider) TaskModelProvider(org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider) AuditLogSeverity(org.ovirt.engine.core.common.AuditLogSeverity) ApplicationDynamicMessages(org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages) Named(com.google.inject.name.Named) AlertListModel(org.ovirt.engine.ui.uicommonweb.models.events.AlertListModel) Collection(java.util.Collection) OptionsModel(org.ovirt.engine.ui.uicommonweb.models.OptionsModel) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs)

Example 2 with Job

use of org.ovirt.engine.core.common.job.Job 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();
            });
        }
    });
}
Also used : JobExecutionStatus(org.ovirt.engine.core.common.job.JobExecutionStatus) Arrays(java.util.Arrays) EnumTranslator(org.ovirt.engine.ui.uicompat.EnumTranslator) AbstractOverlayPresenterWidget(org.ovirt.engine.ui.webadmin.section.main.presenter.AbstractOverlayPresenterWidget) Date(java.util.Date) Job(org.ovirt.engine.core.common.job.Job) Collection(java.util.Collection) Inject(com.google.inject.Inject) ToastNotification(org.ovirt.engine.ui.common.widget.uicommon.tasks.ToastNotification) IEventListener(org.ovirt.engine.ui.uicompat.IEventListener) Set(java.util.Set) Event(org.ovirt.engine.ui.uicompat.Event) NotificationStatus(org.ovirt.engine.ui.common.widget.uicommon.tasks.ToastNotification.NotificationStatus) EventBus(com.google.web.bindery.event.shared.EventBus) TaskListModel(org.ovirt.engine.ui.uicommonweb.models.events.TaskListModel) HashSet(java.util.HashSet) ActionType(org.ovirt.engine.core.common.action.ActionType) List(java.util.List) TaskModelProvider(org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs) Collections(java.util.Collections) ToastNotification(org.ovirt.engine.ui.common.widget.uicommon.tasks.ToastNotification) Collection(java.util.Collection) Date(java.util.Date) EventArgs(org.ovirt.engine.ui.uicompat.EventArgs)

Example 3 with Job

use of org.ovirt.engine.core.common.job.Job in project ovirt-engine by oVirt.

the class TasksView method updateTaskStatus.

@SuppressWarnings("unchecked")
@Override
public void updateTaskStatus(TaskListModel tasksListModel) {
    tasksGroup.clear();
    Collection<Job> jobs = tasksListModel.getItems();
    if (jobs != null) {
        jobs.forEach(job -> {
            String id = job.getCorrelationId().startsWith(TaskListModel.WEBADMIN) ? job.getCorrelationId() : job.getId().toString();
            tasksGroup.add(new TaskWidget(job, id, tasksListModel));
        });
        emptyTasksColumn.setVisible(jobs.isEmpty());
    } else {
        emptyTasksColumn.setVisible(true);
    }
}
Also used : Job(org.ovirt.engine.core.common.job.Job) TaskWidget(org.ovirt.engine.ui.common.widget.uicommon.tasks.TaskWidget)

Example 4 with Job

use of org.ovirt.engine.core.common.job.Job in project ovirt-engine by oVirt.

the class TaskStatusColumn method getTooltip.

@Override
public SafeHtml getTooltip(EntityModel jobOrStep) {
    JobExecutionStatus jobExecutionStatus = null;
    if (jobOrStep.getEntity() instanceof Job) {
        jobExecutionStatus = ((Job) jobOrStep.getEntity()).getStatus();
    } else if (jobOrStep.getEntity() instanceof Step) {
        jobExecutionStatus = ((Step) jobOrStep.getEntity()).getStatus();
    } else {
        return null;
    }
    String tooltipContent = EnumTranslator.getInstance().translate(jobExecutionStatus);
    return SafeHtmlUtils.fromString(tooltipContent);
}
Also used : JobExecutionStatus(org.ovirt.engine.core.common.job.JobExecutionStatus) Step(org.ovirt.engine.core.common.job.Step) Job(org.ovirt.engine.core.common.job.Job)

Example 5 with Job

use of org.ovirt.engine.core.common.job.Job in project ovirt-engine by oVirt.

the class EndExternalJobCommandTest method makeNonExternalTestJob.

private Job makeNonExternalTestJob() {
    Job job = makeJob();
    job.setExternal(false);
    return job;
}
Also used : Job(org.ovirt.engine.core.common.job.Job)

Aggregations

Job (org.ovirt.engine.core.common.job.Job)35 Step (org.ovirt.engine.core.common.job.Step)7 Date (java.util.Date)6 Guid (org.ovirt.engine.core.compat.Guid)6 JobExecutionStatus (org.ovirt.engine.core.common.job.JobExecutionStatus)4 ArrayList (java.util.ArrayList)3 IdQueryParameters (org.ovirt.engine.core.common.queries.IdQueryParameters)3 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)3 Inject (com.google.inject.Inject)2 Collection (java.util.Collection)2 HashMap (java.util.HashMap)2 List (java.util.List)2 Map (java.util.Map)2 Test (org.junit.Test)2 VdcObjectType (org.ovirt.engine.core.common.VdcObjectType)2 GetJobsByOffsetQueryParameters (org.ovirt.engine.core.common.queries.GetJobsByOffsetQueryParameters)2 Event (org.ovirt.engine.ui.uicompat.Event)2 EventArgs (org.ovirt.engine.ui.uicompat.EventArgs)2 IEventListener (org.ovirt.engine.ui.uicompat.IEventListener)2 TaskModelProvider (org.ovirt.engine.ui.webadmin.uicommon.model.TaskModelProvider)2