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.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/HeadlessApplicationTest.java
private void processPartContributions(IEclipseContext context,
			Resource resource) {
		IExtensionRegistry registry = (IExtensionRegistry) context
				.get(IExtensionRegistry.class.getName());
		String extId = "org.eclipse.e4.workbench.parts"; 
		IConfigurationElement[] parts = registry
				.getConfigurationElementsFor(extId);
		for (int i = 0; i < parts.length; i++) {
			MPart part = MApplicationFactory.eINSTANCE.createPart();
			part.setLabel(parts[i].getAttribute("label")); 
			part.setIconURI("platform:/plugin/" 
					+ parts[i].getContributor().getName() + "/" 
					+ parts[i].getAttribute("icon")); 
			part.setURI("platform:/plugin/" 
					+ parts[i].getContributor().getName() + "/" 
					+ parts[i].getAttribute("class")); 
			String parentId = parts[i].getAttribute("parentId"); 
			Object parent = findObject(resource.getAllContents(), parentId);
			if (parent instanceof MElementContainer<?>) {
				((MElementContainer<MPSCElement>) parent).getChildren().add(
						part);
			}
		}
	}
	private EObject findObject(TreeIterator<EObject> it, String id) {
		while (it.hasNext()) {
			EObject el = it.next();
			if (el instanceof MApplicationElement) {
				if (el.eResource().getURIFragment(el).equals(id)) {
					return el;