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.
examples/org.eclipse.e4.demo.e4photo/src/org/eclipse/e4/demo/e4photo/Thumbnails.java
final int[] counter = { 0 };
				runnable = new Runnable() {
					public void run() {
						if (runnable != this) {
							return;
						}
						addImage((IFile) images.get(counter[0]++));
						if (gallery != null && !gallery.isDisposed()
								&& counter[0] < images.size()) {
							gallery.getDisplay().asyncExec(this);
						}
					}
				};
				gallery.getDisplay().asyncExec(runnable);
			} catch (CoreException e) {
				
				e.printStackTrace();
			}
		}
	}
	private void addImage(final IFile file) {
		 
		InputStream contents;
		try {
			contents = file.getContents();
			try {
				ImageData imageData = new ImageData(contents);
				Point size = getBestSize(imageData.width, imageData.height, 100, 100);
				ImageData scaled = imageData.scaledTo(size.x, size.y);
				GalleryItem item = new GalleryItem(group, SWT.NONE);