Bug 269058 [UI] Remove product specific code
The current implementation of org.eclipse.e4.workbench.ui.internal.Workbench currently contains code (based on the availability of the LegacyHook) that is specific to running either the compatibility layer (LH == true) or the photo demo (PH == false). We should make the base Workbench logic work whichever of the two 'applications' are running (i.e. based -only- on the difference in their 'default' model XMI).
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
mainContext.set(apiClassname, factory);
				}
			} catch (CoreException e) {
				
				e.printStackTrace();
			}
		}
		mainContext.set(IWorkbench.class.getName(), this);
		mainContext.set(IExceptionHandler.class.getName(), exceptionHandler);
		mainContext.set(IExtensionRegistry.class.getName(), registry);
		mainContext.set(IServiceConstants.SELECTION,
				new ActiveChildOutputValue(IServiceConstants.SELECTION));
		mainContext.set(IServiceConstants.INPUT, new ComputedValue() {
			public Object compute(IEclipseContext context, Object[] arguments) {
				Class adapterType = null;
				if (arguments.length > 0 && arguments[0] instanceof Class) {
					adapterType = (Class) arguments[0];
				}
				Object newInput = null;
				Object newValue = mainContext.get(IServiceConstants.SELECTION);
				if (adapterType == null || adapterType.isInstance(newValue)) {
					newInput = newValue;
				} else if (newValue != null && adapterType != null) {
					Object adapted = Platform.getAdapterManager().loadAdapter(
							newValue, adapterType.getName());
					if (adapted != null) {
						newInput = adapted;
					}
				}
				return newInput;