⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loadtodoitemjob.java

📁 eclipse开发笔记
💻 JAVA
字号:
package rcpdev.todo.ui.todolist.views.jobs;

import java.util.Date;
import java.util.List;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;

import rcpdev.common.core.utils.DateUtils;
import rcpdev.todo.core.model.TodoItem;
import rcpdev.todo.core.storage.TodoFacadeException;
import rcpdev.todo.core.storage.TodoFacadeFactory;
import rcpdev.todo.ui.Activator;
import rcpdev.todo.ui.todolist.views.TodoListView;

public class LoadTodoItemJob extends Job {

	public static final String NAME = "Loading To-Do List";

	private Date date;

	public LoadTodoItemJob() {
		super(NAME);
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = DateUtils.truncToDay(date);
	}

	@Override
	protected IStatus run(IProgressMonitor monitor) {
		// Retrieve Data from Facade
		List<TodoItem> items;
		try {
			items = TodoFacadeFactory.getInstance().getFacade()
					.findTodoItemByDate(date);
		} catch (TodoFacadeException e) {
			items = null;
			e.printStackTrace();
			return new Status(IStatus.ERROR, Activator.PLUGIN_ID, 0, e
					.getDescription(), e);
		}
		// Update UI
		if (monitor.isCanceled())
			return Status.CANCEL_STATUS;

		final List<TodoItem> finalItems = items;
		Display.getDefault().asyncExec(new Runnable() {
			public void run() {
				TodoListView view = (TodoListView) PlatformUI.getWorkbench()
						.getActiveWorkbenchWindow().getActivePage().findView(
								TodoListView.ID);
				if (view != null) {
					view.getBean().removeAllItems();
					if (finalItems != null)
						for (int i = 0; i < finalItems.size(); i++) {
							view.getBean().addItem(finalItems.get(i));
						}
				}
			}
		});

		return Status.OK_STATUS;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -