Bug 326177 EPartService's getActivePart() does not appear to work properly for an application with multiple windows
Based on the code in PartServiceCreationFunction, the EPartService implementation being returned when an application's context is queried seems to be a window-level EPartService implementation.
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/application/EPartServiceTest.java
.createApplication();
		MWindow window = BasicFactoryImpl.eINSTANCE.createWindow();
		application.getChildren().add(window);
		MPart saveablePart = BasicFactoryImpl.eINSTANCE.createPart();
		saveablePart.setDirty(beforeDirty);
		saveablePart
				.setContributionURI("platform:/plugin/org.eclipse.e4.ui.tests/org.eclipse.e4.ui.tests.application.ClientEditor");
		window.getChildren().add(saveablePart);
		initialize(applicationContext, application);
		getEngine().createGui(window);
		ClientEditor editor = (ClientEditor) saveablePart.getObject();
		editor.setThrowException(throwException);
		
		applicationContext.set(ISaveHandler.class.getName(), null);
		EPartService partService = (EPartService) window.getContext().get(
				EPartService.class.getName());
		if (beforeDirty) {
			assertEquals(!throwException,
					partService.savePart(saveablePart, confirm));
		} else {
			assertTrue(
					"The part is not dirty, the save operation should have complete successfully",
					partService.savePart(saveablePart, confirm));
		}
		assertEquals(beforeDirty && throwException, saveablePart.isDirty());
		assertEquals(beforeDirty, editor.wasSaveCalled());
	}
	public void testSavePart_NoHandler_TTT() {
		testSavePart_NoHandler(true, true, true);
	}