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/ReflectionContributionFactory.java
} catch (ClassNotFoundException e) {
				
				e.printStackTrace();
			}
		}
		return null;
	}
	private void processLanguages() {
		languages = new HashMap<String, Object>();
		String extId = "org.eclipse.e4.languages"; 
		IConfigurationElement[] languageElements = registry
				.getConfigurationElementsFor(extId);
		for (int i = 0; i < languageElements.length; i++) {
			IConfigurationElement languageElement = languageElements[i];
			try {
				languages
						.put(
								languageElement.getAttribute("name"), 
								languageElement
										.createExecutableExtension("contributionFactory")); 
			} catch (InvalidRegistryObjectException e) {
				
				e.printStackTrace();
			} catch (CoreException e) {
				
				e.printStackTrace();
			}
		}
	}
	private Object createObject(Class<?> targetClass, IEclipseContext context) {