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.examples.services/src/org/eclipse/e4/examples/services/snippets/work/SimpleWorkSnippet.java
};
	/**
	 * pretend exception type
	 */
	static class FooException extends Exception {
	};
	public void example() {
		WorkRunnable<Result> runnable = new WorkRunnable<Result>() {
			@Override
			public Result run(WorkContext workContext) {
				workContext.setWorkRemaining(100, "working on it");
				try {
					doFirstHalfFoo(workContext.newChild(50));
					doSecondHalfFoo(workContext.newChild(50));
				} catch (FooException e) {
					statusReporter.get().show(IStatus.ERROR, "foo failure message", e);
				}
				
				return new Result();
			}
		};
		scheduler.schedule(runnable, 0, 0);
	}
	protected void doFirstHalfFoo(WorkContext wc) {
	}
	protected void doSecondHalfFoo(WorkContext wc) throws FooException {
		throw new FooException();
	}
}