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.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/WBWRenderer.java
public void shellClosed(ShellEvent e) {
					MContext context = (MContext) e.widget.getData(OWNING_ME);
					EPartService partService = (EPartService) context
							.getContext().get(EPartService.class.getName());
					if (partService != null) {
						e.doit = partService.saveAll(true);
					}
				}
			});
			shell.addListener(SWT.Activate, new Listener() {
				public void handleEvent(org.eclipse.swt.widgets.Event event) {
					IEclipseContext parentContext = getContextForParent(w);
					MApplication app = (MApplication) w.getContext().get(
							MApplication.class.getName());
					if (app != null && parentContext != null) {
						if (app.getSelectedElement() == w) {
							return;
						}
						app.setSelectedElement(w);
						parentContext.set(IContextConstants.ACTIVE_CHILD, w
								.getContext());
					}
				}
			});
		}
	}
	/*
	 * Processing the contents of a Workbench window has to take into account
	 * that theere may be trim elements contained in its child list. Since the
	 * (non-Javadoc)