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/EPartServiceTest.java
MPart partFront = partStack.getChildren().get(0);
		MPart partBack = partStack.getChildren().get(1);
		partStack.setSelectedElement(partFront);
		getEngine().createGui(window);
		EPartService partService = (EPartService) window.getContext().get(
				EPartService.class.getName());
		assertEquals(partFront, partService.getActivePart());
		PartListener partListener = new PartListener();
		partService.addPartListener(partListener);
		partService.activate(partBack);
		assertEquals(1, partListener.getDeactivated());
		assertEquals(partFront, partListener.getDeactivatedParts().get(0));
		assertTrue(partListener.isValid());
	}
	public void testEvent_PartDeactivated2() {
		MApplication application = MApplicationFactory.eINSTANCE
				.createApplication();
		MWindow windowA = MApplicationFactory.eINSTANCE.createWindow();
		MWindow windowB = MApplicationFactory.eINSTANCE.createWindow();
		application.getChildren().add(windowA);
		application.getChildren().add(windowB);
		application.setSelectedElement(windowA);
		MPartStack stack = MApplicationFactory.eINSTANCE.createPartStack();
		windowB.getChildren().add(stack);
		windowB.setSelectedElement(stack);
		MPart partA = MApplicationFactory.eINSTANCE.createPart();
		MPart partB = MApplicationFactory.eINSTANCE.createPart();
		stack.getChildren().add(partA);
		stack.getChildren().add(partB);
		stack.setSelectedElement(partA);