Bug 270989 Context refactoring
Based on discussions over the past weeks, I'm doing a refactoring of the context API. Major changes: - Renamed IComputedValue to IContextFunction - Renamed *Value to *Function - Renamed UIContextScheduler to UISchedulerStrategy - Added concept of ILookupStrategy to delegate lookup of keys that are not yet defined in a given context - Re-implemented OSGi service support using lookup strategy I also fixed a couple of NPE's I found while testing with the e4 photo demo (null realms, etc)
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/UIContextScheduler.java
static final public IEclipseContextScheduler instance = new UIContextScheduler();
	public void schedule(Runnable runnable) {
		Realm.getDefault().asyncExec(runnable);
	}
	public boolean schedule(final IEclipseContext context,
			final IRunAndTrack runnable, final String name,
			final int eventType, final Object[] args) {
		final boolean[] result = new boolean[1];
		Realm.getDefault().asyncExec(new Runnable() {
			public void run() {
				result[0] = runnable.notify(context, name, eventType, args);
			}
		});
		return result[0];
	}
}