Bug 280076 Make model loading plugable
Today our EMF usage is structured in a way that we can only load a model from XMI and inherit from EObjectImpl. This makes it impossible to leverage other EMF-Technologies (e.g. CDO). We should think about how we can restructure our code base to have possibility to support different model-storage technologies and different EObject-Implementations.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/ResourceHandler.java
throw new RuntimeException(e);
		}
		workbenchData = new File(workbenchData, ".metadata"); 
		workbenchData = new File(workbenchData, ".plugins"); 
		workbenchData = new File(workbenchData, "org.eclipse.e4.workbench"); 
		if (RESTORE_VIA_DELTAS) {
			workbenchData = new File(workbenchData, "deltas.xml"); 	
		} else {
			workbenchData = new File(workbenchData, "workbench.xmi"); 			
		}
		if (workbenchData != null && saveAndRestore) {
			restoreLocation = URI.createFileURI(workbenchData.getAbsolutePath());
		}
	}
	public long getLastStoreDatetime() {
		long restoreLastModified = restoreLocation == null ? 0L : new File(restoreLocation
				.toFileString()).lastModified();
		return restoreLastModified;
	}
	public Resource loadRestoredModel() {
		Activator.trace(Policy.DEBUG_WORKBENCH, "Restoring workbench: " + restoreLocation, null); 
		resource = loadResource(restoreLocation);
		return resource;
	}
	public Resource loadBaseModel() {
		Activator.trace(Policy.DEBUG_WORKBENCH,
				"Initializing workbench: " + applicationDefinitionInstance, null); 
		if (RESTORE_VIA_DELTAS) {
			resource = loadResource(applicationDefinitionInstance);
		} else {