Bug 304239 move each core application service to its own package
In M4, some services have their own package, others are provided in core.services. Boris and I talked about moving each service (API) to its own package. Reasons are: - aids with discoverability - helps separate application services from other public API in the core.services package (such as IDisposable, JSONObject) - helps to emphasize that services can be setup and consumed individually - will make it easier to move to separate bundles if that is ever needed This means moving Adapter, Logger, IStatusHandler to their own packages.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ContributionUtils.java
}
	/**
	 * Executes the 'command' represented by the given MContribution's URI
	 * 
	 * @param factory
	 *            The contribution factory to use
	 * @param contrib
	 *            The UI Model's MContribution to be executed
	 * @param context
	 *            The eclipse context in which to execute
	 */
	public static void execute(IContributionFactory factory,
			MContribution contrib, IEclipseContext context) {
		context.set(MContribution.class.getName(), contrib);
		Object implementation = getInstance(factory, contrib, context);
		try {
			ContextInjectionFactory.invoke(implementation, "execute", context); 
		} catch (InvocationTargetException e) {
			Logger logger = (Logger) context.get(Logger.class.getName());
			if (logger != null)
				logger.error(e);
		} catch (InjectionException e) {
			Logger logger = (Logger) context.get(Logger.class.getName());
			if (logger != null)
				logger.error(e);
		}
		context.remove(MContribution.class.getName());
	}
}