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
/**
	 * Returns the instance of the implementation for a given contribution, if
	 * necessary create the instance and cache it
	 * 
	 * @param factory
	 *            The contribution factory to use
	 * @param contrib
	 *            The UI Model MContribution
	 * @param context
	 *            The context in which to create the instance
	 * 
	 * @return The implementation instance for this MContribution
	 */
	public static Object getInstance(IContributionFactory factory,
			MContribution contrib, IEclipseContext context) {
		if (contrib.getObject() != null)
			return contrib.getObject();
		contrib.setObject(factory.create(contrib.getURI(), context));
		return contrib.getObject();