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/src/org/eclipse/e4/workbench/ui/internal/ReflectionContributionFactory.java
if (uri.segmentCount() > 3) {
			String prefix = uri.segment(2);
			IContributionFactorySpi factory = (IContributionFactorySpi) languages.get(prefix);
			StringBuffer resource = new StringBuffer(uri.segment(3));
			for (int i = 4; i < uri.segmentCount(); i++) {
				resource.append('/');
				resource.append(uri.segment(i));
			}
			contribution = factory.create(bundle, resource.toString(), context);
		} else {
			String clazz = uri.segment(2);
			try {
				Class<?> targetClass = bundle.loadClass(clazz);
				contribution = ContextInjectionFactory.make(targetClass, context);
			} catch (ClassNotFoundException e) {
				contribution = null;
				String message = "Unable to load class '" + clazz + "' from bundle '" 
						+ bundle.getBundleId() + "'"; 
				Activator.log(LogService.LOG_ERROR, message, e);
			} catch (InvocationTargetException e) {
				contribution = null;
				String message = "Unable to instantiate class '" + clazz + "' from bundle '" 
						+ bundle.getBundleId() + "'"; 
				Activator.log(LogService.LOG_ERROR, message, e);
			} catch (InstantiationException e) {
				contribution = null;
				String message = "Unable to instantiate class '" + clazz + "' from bundle '" 
						+ bundle.getBundleId() + "'"; 
				Activator.log(LogService.LOG_ERROR, message, e);
			}