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.core.commands/src/org/eclipse/e4/core/commands/internal/CommandServiceCreationFunction.java
Logger logger = (Logger) context.get(Logger.class.getName());
				if (logger != null) {
					logger.error(e);
				}
			}
		}
		return service;
	}
	/**
	 * @param context
	 * @return the topmost "root" context
	 */
	private IEclipseContext getRootContext(IEclipseContext context) {
		IEclipseContext current = (IEclipseContext) context.get(IContextConstants.ROOT_CONTEXT);
		if (current != null) {
			return current;
		}
		current = context;
		IEclipseContext parent = (IEclipseContext) current.getLocal(IContextConstants.PARENT);
		while (parent != null) {
			current = parent;
			parent = (IEclipseContext) current.getLocal(IContextConstants.PARENT);
		}
		if (current != null) {
			current.set(IContextConstants.ROOT_CONTEXT, current);
		}
		return current;
	}
}