workspace provider cleanup
diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/Activator.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/Activator.java
index d1b0330..3a4019e 100644
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/Activator.java
+++ b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/Activator.java
@@ -1,3 +1,14 @@
+/*******************************************************************************

+ * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.

+ * 

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ * Eugen Neufeld - initial API and implementation

+ ******************************************************************************/

 /*

  * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.

  * All rights reserved. This program and the accompanying materials

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ECPDelegating.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ECPDelegating.java
deleted file mode 100644
index 62d94ef..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ECPDelegating.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH and others.

- * 

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * 

- * Contributors:

- * Eike Stepper - initial API and implementation

- * Eugen Neufeld - JavaDoc

- * 

- *******************************************************************************/

-

-package org.eclipse.emf.ecp.workspace.internal.core;

-

-/**

- * This interface allows to get a delegate.

- * 

- * 

- * @author Eike Stepper

- * @author Eugen Neufeld

- * 

- * @param <DELEGATE> The delegating class.

- */

-public interface ECPDelegating<DELEGATE> {

-	/**

-	 * Returns a delegate.

-	 * 

-	 * @return the delegate

-	 */

-	DELEGATE getDelegate();

-}

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/FileCheckoutSource.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/FileCheckoutSource.java
deleted file mode 100644
index 6b32fbf..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/FileCheckoutSource.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.workspace.internal.core;
-
-import org.eclipse.emf.ecp.core.ECPProjectManager;
-import org.eclipse.emf.ecp.core.exception.ProjectWithNameExistsException;
-import org.eclipse.emf.ecp.core.util.ECPCheckoutSource;
-import org.eclipse.emf.ecp.core.util.ECPProperties;
-import org.eclipse.emf.ecp.spi.core.InternalRepository;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * @author Eugen Neufeld
- * 
- */
-public class FileCheckoutSource extends ResourceWrapper<InternalRepository> implements ECPCheckoutSource {
-
-	/**
-	 * @param context
-	 * @param delegate
-	 */
-	public FileCheckoutSource(InternalRepository context, IResource delegate) {
-		super(context, delegate);
-	}
-
-	/** {@inheritDoc} */
-	public InternalRepository getRepository() {
-		return getContext();
-	}
-
-	/** {@inheritDoc} */
-	public String getDefaultCheckoutName() {
-		return getName();
-	}
-
-	/** {@inheritDoc} */
-	public void checkout(String projectName, ECPProperties projectProperties) throws ProjectWithNameExistsException {
-		projectProperties.addProperty(WorkspaceProvider.PROP_ROOT_URI, getURI().toString());
-		ECPProjectManager.INSTANCE.createProject(getRepository(), projectName, projectProperties);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see
-	 * org.eclipse.emf.ecp.workspace.internal.core.ResourceWrapper#createChild(org.eclipse.emf.ecp.core.util.ECPModelContext
-	 * , org.eclipse.core.resources.IResource)
-	 */
-	@Override
-	protected Object createChild(InternalRepository context, IResource member) {
-		return new FileCheckoutSource(context, member);
-	}
-
-}
diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ModelWrapper.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ModelWrapper.java
deleted file mode 100644
index ccc621a..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ModelWrapper.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*

- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * Contributors:

- * Eike Stepper - initial API and implementation

- */

-package org.eclipse.emf.ecp.workspace.internal.core;

-

-import org.eclipse.emf.ecp.core.ECPProvider;

-import org.eclipse.emf.ecp.core.util.ECPModelContext;

-import org.eclipse.emf.ecp.core.util.ECPModelContextAware;

-

-/**

- * @author Eike Stepper

- */

-public abstract class ModelWrapper<CONTEXT extends ECPModelContext, DELEGATE> implements ECPModelContextAware,

-	ECPDelegating<DELEGATE>, Comparable<ModelWrapper<CONTEXT, DELEGATE>> {

-	private final CONTEXT context;

-

-	private final DELEGATE delegate;

-

-	public ModelWrapper(CONTEXT context, DELEGATE delegate) {

-		this.context = context;

-		this.delegate = delegate;

-	}

-

-	/** {@inheritDoc} */

-	public final ECPProvider getProvider() {

-		return getContext().getProvider();

-	}

-

-	/** {@inheritDoc} */

-	public final CONTEXT getContext() {

-		return context;

-	}

-

-	/** {@inheritDoc} */

-	public DELEGATE getDelegate() {

-		return delegate;

-	}

-

-	/** {@inheritDoc} */

-	public int compareTo(ModelWrapper<CONTEXT, DELEGATE> o) {

-		return getName().compareTo(o.getName());

-	}

-

-	@Override

-	public int hashCode() {

-		final int prime = 31;

-		int result = 1;

-		result = prime * result + (context == null ? 0 : context.hashCode());

-		result = prime * result + (delegate == null ? 0 : delegate.hashCode());

-		return result;

-	}

-

-	@Override

-	public boolean equals(Object obj) {

-		if (this == obj) {

-			return true;

-		}

-

-		if (obj == null) {

-			return false;

-		}

-

-		if (getClass() != obj.getClass()) {

-			return false;

-		}

-

-		ModelWrapper<?, ?> other = (ModelWrapper<?, ?>) obj;

-		if (context == null) {

-			if (other.context != null) {

-				return false;

-			}

-		} else if (!context.equals(other.context)) {

-			return false;

-		}

-

-		if (delegate == null) {

-			if (other.delegate != null) {

-				return false;

-			}

-		} else if (!delegate.equals(other.delegate)) {

-			return false;

-		}

-

-		return true;

-	}

-

-	@Override

-	public String toString() {

-		return getName();

-	}

-

-	public abstract String getName();

-}

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ProjectResourceWrapper.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ProjectResourceWrapper.java
deleted file mode 100644
index d1f3836..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ProjectResourceWrapper.java
+++ /dev/null
@@ -1,606 +0,0 @@
-/*

- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * Contributors:

- * Eike Stepper - initial API and implementation

- */

-package org.eclipse.emf.ecp.workspace.internal.core;

-

-import org.eclipse.emf.ecp.core.ECPProject;

-import org.eclipse.emf.ecp.spi.core.InternalProject;

-

-import org.eclipse.core.resources.FileInfoMatcherDescription;

-import org.eclipse.core.resources.IBuildConfiguration;

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IFileState;

-import org.eclipse.core.resources.IFolder;

-import org.eclipse.core.resources.IProject;

-import org.eclipse.core.resources.IProjectDescription;

-import org.eclipse.core.resources.IProjectNature;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.IResourceFilterDescription;

-import org.eclipse.core.resources.IWorkspaceRoot;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.content.IContentDescription;

-import org.eclipse.core.runtime.content.IContentTypeMatcher;

-

-import java.io.InputStream;

-import java.io.Reader;

-import java.net.URI;

-import java.util.Map;

-

-/**

- * @author Eike Stepper

- */

-public class ProjectResourceWrapper extends ResourceWrapper<InternalProject> {

-	public ProjectResourceWrapper(ECPProject project, IResource resource) {

-		super((InternalProject) project, resource);

-	}

-

-	@Override

-	protected Object createChild(InternalProject project, IResource member) {

-		switch (member.getType()) {

-		case IResource.ROOT:

-			return new IWorkspaceRootWrapper(project, (IWorkspaceRoot) member);

-

-		case IResource.PROJECT:

-			return new IProjectWrapper(project, (IProject) member);

-

-		case IResource.FOLDER:

-			return new IFolderWrapper(project, (IFolder) member);

-

-		case IResource.FILE:

-			return new IFileWrapper(project, (IFile) member);

-

-		default:

-			return new ProjectResourceWrapper(project, member);

-		}

-	}

-

-	/**

-	 * @author Eike Stepper

-	 */

-	public static class IContainerWrapper extends ProjectResourceWrapper implements IContainer {

-		public IContainerWrapper(ECPProject project, IContainer container) {

-			super(project, container);

-		}

-

-		@Override

-		public IContainer getDelegate() {

-			return (IContainer) super.getDelegate();

-		}

-

-		/** {@inheritDoc} */

-		public boolean exists(IPath path) {

-			return getDelegate().exists(path);

-		}

-

-		/** {@inheritDoc} */

-		public IResource findMember(String path) {

-			return getDelegate().findMember(path);

-		}

-

-		/** {@inheritDoc} */

-		public IResource findMember(String path, boolean includePhantoms) {

-			return getDelegate().findMember(path, includePhantoms);

-		}

-

-		/** {@inheritDoc} */

-		public IResource findMember(IPath path) {

-			return getDelegate().findMember(path);

-		}

-

-		/** {@inheritDoc} */

-		public IResource findMember(IPath path, boolean includePhantoms) {

-			return getDelegate().findMember(path, includePhantoms);

-		}

-

-		/** {@inheritDoc} */

-		public String getDefaultCharset() throws CoreException {

-			return getDelegate().getDefaultCharset();

-		}

-

-		/** {@inheritDoc} */

-		public String getDefaultCharset(boolean checkImplicit) throws CoreException {

-			return getDelegate().getDefaultCharset(checkImplicit);

-		}

-

-		/** {@inheritDoc} */

-		public IFile getFile(IPath path) {

-			return getDelegate().getFile(path);

-		}

-

-		/** {@inheritDoc} */

-		public IFolder getFolder(IPath path) {

-			return getDelegate().getFolder(path);

-		}

-

-		/** {@inheritDoc} */

-		public IResource[] members() throws CoreException {

-			return getDelegate().members();

-		}

-

-		/** {@inheritDoc} */

-		public IResource[] members(boolean includePhantoms) throws CoreException {

-			return getDelegate().members(includePhantoms);

-		}

-

-		/** {@inheritDoc} */

-		public IResource[] members(int memberFlags) throws CoreException {

-			return getDelegate().members(memberFlags);

-		}

-

-		/** {@inheritDoc} */

-		public IFile[] findDeletedMembersWithHistory(int depth, IProgressMonitor monitor) throws CoreException {

-			return getDelegate().findDeletedMembersWithHistory(depth, monitor);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public void setDefaultCharset(String charset) throws CoreException {

-			getDelegate().setDefaultCharset(charset);

-		}

-

-		/** {@inheritDoc} */

-		public void setDefaultCharset(String charset, IProgressMonitor monitor) throws CoreException {

-			getDelegate().setDefaultCharset(charset, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public IResourceFilterDescription createFilter(int type, FileInfoMatcherDescription matcherDescription,

-			int updateFlags, IProgressMonitor monitor) throws CoreException {

-			return getDelegate().createFilter(type, matcherDescription, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public IResourceFilterDescription[] getFilters() throws CoreException {

-			return getDelegate().getFilters();

-		}

-	}

-

-	/**

-	 * @author Eike Stepper

-	 */

-	public static class IWorkspaceRootWrapper extends IContainerWrapper implements IWorkspaceRoot {

-		public IWorkspaceRootWrapper(ECPProject project, IWorkspaceRoot workspaceRoot) {

-			super(project, workspaceRoot);

-		}

-

-		@Override

-		public IWorkspaceRoot getDelegate() {

-			return (IWorkspaceRoot) super.getDelegate();

-		}

-

-		/** {@inheritDoc} */

-		public void delete(boolean deleteContent, boolean force, IProgressMonitor monitor) throws CoreException {

-			getDelegate().delete(deleteContent, force, monitor);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public IContainer[] findContainersForLocation(IPath location) {

-			return getDelegate().findContainersForLocation(location);

-		}

-

-		/** {@inheritDoc} */

-		public IContainer[] findContainersForLocationURI(URI location) {

-			return getDelegate().findContainersForLocationURI(location);

-		}

-

-		/** {@inheritDoc} */

-		public IContainer[] findContainersForLocationURI(URI location, int memberFlags) {

-			return getDelegate().findContainersForLocationURI(location, memberFlags);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public IFile[] findFilesForLocation(IPath location) {

-			return getDelegate().findFilesForLocation(location);

-		}

-

-		/** {@inheritDoc} */

-		public IFile[] findFilesForLocationURI(URI location) {

-			return getDelegate().findFilesForLocationURI(location);

-		}

-

-		/** {@inheritDoc} */

-		public IFile[] findFilesForLocationURI(URI location, int memberFlags) {

-			return getDelegate().findFilesForLocationURI(location, memberFlags);

-		}

-

-		/** {@inheritDoc} */

-		public IContainer getContainerForLocation(IPath location) {

-			return getDelegate().getContainerForLocation(location);

-		}

-

-		/** {@inheritDoc} */

-		public IFile getFileForLocation(IPath location) {

-			return getDelegate().getFileForLocation(location);

-		}

-

-		/** {@inheritDoc} */

-		public IProject getProject(String name) {

-			return getDelegate().getProject(name);

-		}

-

-		/** {@inheritDoc} */

-		public IProject[] getProjects() {

-			return getDelegate().getProjects();

-		}

-

-		/** {@inheritDoc} */

-		public IProject[] getProjects(int memberFlags) {

-			return getDelegate().getProjects(memberFlags);

-		}

-	}

-

-	/**

-	 * @author Eike Stepper

-	 */

-	public static class IProjectWrapper extends IContainerWrapper implements IProject {

-		public IProjectWrapper(ECPProject project, IProject iProject) {

-			super(project, iProject);

-		}

-

-		@Override

-		public IProject getDelegate() {

-			return (IProject) super.getDelegate();

-		}

-

-		/** {@inheritDoc} */

-		public void build(int kind, String builderName, Map<String, String> args, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().build(kind, builderName, args, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void build(int kind, IProgressMonitor monitor) throws CoreException {

-			getDelegate().build(kind, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void build(IBuildConfiguration config, int kind, IProgressMonitor monitor) throws CoreException {

-			getDelegate().build(config, kind, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void close(IProgressMonitor monitor) throws CoreException {

-			getDelegate().close(monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(IProjectDescription description, IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(description, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(IProjectDescription description, int updateFlags, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().create(description, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void delete(boolean deleteContent, boolean force, IProgressMonitor monitor) throws CoreException {

-			getDelegate().delete(deleteContent, force, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public IBuildConfiguration getActiveBuildConfig() throws CoreException {

-			return getDelegate().getActiveBuildConfig();

-		}

-

-		/** {@inheritDoc} */

-		public IBuildConfiguration getBuildConfig(String configName) throws CoreException {

-			return getDelegate().getBuildConfig(configName);

-		}

-

-		/** {@inheritDoc} */

-		public IBuildConfiguration[] getBuildConfigs() throws CoreException {

-			return getDelegate().getBuildConfigs();

-		}

-

-		/** {@inheritDoc} */

-		public IContentTypeMatcher getContentTypeMatcher() throws CoreException {

-			return getDelegate().getContentTypeMatcher();

-		}

-

-		/** {@inheritDoc} */

-		public IProjectDescription getDescription() throws CoreException {

-			return getDelegate().getDescription();

-		}

-

-		/** {@inheritDoc} */

-		public IFile getFile(String name) {

-			return getDelegate().getFile(name);

-		}

-

-		/** {@inheritDoc} */

-		public IFolder getFolder(String name) {

-			return getDelegate().getFolder(name);

-		}

-

-		/** {@inheritDoc} */

-		public IProjectNature getNature(String natureId) throws CoreException {

-			return getDelegate().getNature(natureId);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public IPath getPluginWorkingLocation(org.eclipse.core.runtime.IPluginDescriptor plugin) {

-			return getDelegate().getPluginWorkingLocation(plugin);

-		}

-

-		/** {@inheritDoc} */

-		public IPath getWorkingLocation(String id) {

-			return getDelegate().getWorkingLocation(id);

-		}

-

-		/** {@inheritDoc} */

-		public IProject[] getReferencedProjects() throws CoreException {

-			return getDelegate().getReferencedProjects();

-		}

-

-		/** {@inheritDoc} */

-		public IProject[] getReferencingProjects() {

-			return getDelegate().getReferencingProjects();

-		}

-

-		/** {@inheritDoc} */

-		public IBuildConfiguration[] getReferencedBuildConfigs(String configName, boolean includeMissing)

-			throws CoreException {

-			return getDelegate().getReferencedBuildConfigs(configName, includeMissing);

-		}

-

-		/** {@inheritDoc} */

-		public boolean hasBuildConfig(String configName) throws CoreException {

-			return getDelegate().hasBuildConfig(configName);

-		}

-

-		/** {@inheritDoc} */

-		public boolean hasNature(String natureId) throws CoreException {

-			return getDelegate().hasNature(natureId);

-		}

-

-		/** {@inheritDoc} */

-		public boolean isNatureEnabled(String natureId) throws CoreException {

-			return getDelegate().isNatureEnabled(natureId);

-		}

-

-		/** {@inheritDoc} */

-		public boolean isOpen() {

-			return getDelegate().isOpen();

-		}

-

-		/** {@inheritDoc} */

-		public void loadSnapshot(int options, URI snapshotLocation, IProgressMonitor monitor) throws CoreException {

-			getDelegate().loadSnapshot(options, snapshotLocation, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void move(IProjectDescription description, boolean force, IProgressMonitor monitor) throws CoreException {

-			getDelegate().move(description, force, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void open(int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().open(updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void open(IProgressMonitor monitor) throws CoreException {

-			getDelegate().open(monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void saveSnapshot(int options, URI snapshotLocation, IProgressMonitor monitor) throws CoreException {

-			getDelegate().saveSnapshot(options, snapshotLocation, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setDescription(IProjectDescription description, IProgressMonitor monitor) throws CoreException {

-			getDelegate().setDescription(description, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setDescription(IProjectDescription description, int updateFlags, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().setDescription(description, updateFlags, monitor);

-		}

-	}

-

-	/**

-	 * @author Eike Stepper

-	 */

-	public static class IFolderWrapper extends IContainerWrapper implements IFolder {

-		public IFolderWrapper(ECPProject project, IFolder folder) {

-			super(project, folder);

-		}

-

-		@Override

-		public IFolder getDelegate() {

-			return (IFolder) super.getDelegate();

-		}

-

-		/** {@inheritDoc} */

-		public void create(boolean force, boolean local, IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(force, local, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(int updateFlags, boolean local, IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(updateFlags, local, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void createLink(IPath localLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().createLink(localLocation, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void createLink(URI location, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().createLink(location, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void delete(boolean force, boolean keepHistory, IProgressMonitor monitor) throws CoreException {

-			getDelegate().delete(force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public IFile getFile(String name) {

-			return getDelegate().getFile(name);

-		}

-

-		/** {@inheritDoc} */

-		public IFolder getFolder(String name) {

-			return getDelegate().getFolder(name);

-		}

-

-		/** {@inheritDoc} */

-		public void move(IPath destination, boolean force, boolean keepHistory, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().move(destination, force, keepHistory, monitor);

-		}

-	}

-

-	/**

-	 * @author Eike Stepper

-	 */

-	public static class IFileWrapper extends ProjectResourceWrapper implements IFile {

-		public IFileWrapper(ECPProject project, IFile file) {

-			super(project, file);

-		}

-

-		@Override

-		public IFile getDelegate() {

-			return (IFile) super.getDelegate();

-		}

-

-		/** {@inheritDoc} */

-		public void appendContents(InputStream source, boolean force, boolean keepHistory, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().appendContents(source, force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void appendContents(InputStream source, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().appendContents(source, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(InputStream source, boolean force, IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(source, force, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void create(InputStream source, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().create(source, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void createLink(IPath localLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().createLink(localLocation, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void createLink(URI location, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().createLink(location, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void delete(boolean force, boolean keepHistory, IProgressMonitor monitor) throws CoreException {

-			getDelegate().delete(force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public String getCharset() throws CoreException {

-			return getDelegate().getCharset();

-		}

-

-		/** {@inheritDoc} */

-		public String getCharset(boolean checkImplicit) throws CoreException {

-			return getDelegate().getCharset(checkImplicit);

-		}

-

-		/** {@inheritDoc} */

-		public String getCharsetFor(Reader reader) throws CoreException {

-			return getDelegate().getCharsetFor(reader);

-		}

-

-		/** {@inheritDoc} */

-		public IContentDescription getContentDescription() throws CoreException {

-			return getDelegate().getContentDescription();

-		}

-

-		/** {@inheritDoc} */

-		public InputStream getContents() throws CoreException {

-			return getDelegate().getContents();

-		}

-

-		/** {@inheritDoc} */

-		public InputStream getContents(boolean force) throws CoreException {

-			return getDelegate().getContents(force);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public int getEncoding() throws CoreException {

-			return getDelegate().getEncoding();

-		}

-

-		/** {@inheritDoc} */

-		public IFileState[] getHistory(IProgressMonitor monitor) throws CoreException {

-			return getDelegate().getHistory(monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void move(IPath destination, boolean force, boolean keepHistory, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().move(destination, force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		@Deprecated

-		public void setCharset(String newCharset) throws CoreException {

-			getDelegate().setCharset(newCharset);

-		}

-

-		/** {@inheritDoc} */

-		public void setCharset(String newCharset, IProgressMonitor monitor) throws CoreException {

-			getDelegate().setCharset(newCharset, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setContents(InputStream source, boolean force, boolean keepHistory, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().setContents(source, force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setContents(IFileState source, boolean force, boolean keepHistory, IProgressMonitor monitor)

-			throws CoreException {

-			getDelegate().setContents(source, force, keepHistory, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setContents(InputStream source, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().setContents(source, updateFlags, monitor);

-		}

-

-		/** {@inheritDoc} */

-		public void setContents(IFileState source, int updateFlags, IProgressMonitor monitor) throws CoreException {

-			getDelegate().setContents(source, updateFlags, monitor);

-		}

-	}

-}

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/RepositoryResourceWrapper.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/RepositoryResourceWrapper.java
deleted file mode 100644
index 6374982..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/RepositoryResourceWrapper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*

- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * Contributors:

- * Eike Stepper - initial API and implementation

- */

-package org.eclipse.emf.ecp.workspace.internal.core;

-

-import org.eclipse.emf.ecp.core.ECPRepository;

-import org.eclipse.emf.ecp.spi.core.InternalRepository;

-

-import org.eclipse.core.resources.IResource;

-

-/**

- * @author Eike Stepper

- */

-public class RepositoryResourceWrapper extends ResourceWrapper<InternalRepository> {

-	public RepositoryResourceWrapper(ECPRepository repository, IResource resource) {

-		super((InternalRepository) repository, resource);

-	}

-

-	//

-	// public InternalRepository getRepository() {

-	// return getContext();

-	// }

-	//

-	// public String getDefaultCheckoutName() {

-	// return getName();

-	// }

-	//

-	// public void checkout(String projectName, ECPProperties projectProperties) throws ProjectWithNameExistsException {

-	// projectProperties.addProperty(WorkspaceProvider.PROP_ROOT_URI, getURI().toString());

-	// ECPProjectManager.INSTANCE.createProject(getRepository(), projectName, projectProperties);

-	// }

-

-	@Override

-	protected Object createChild(InternalRepository repository, IResource member) {

-		if (member.getType() == IResource.FILE) {

-			return new FileCheckoutSource(repository, member);

-		}

-		return new RepositoryResourceWrapper(repository, member);

-	}

-}

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ResourceWrapper.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ResourceWrapper.java
deleted file mode 100644
index 819875d..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/ResourceWrapper.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*

- * Copyright (c) 2011 Eike Stepper (Berlin, Germany) and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- * Contributors:

- * Eike Stepper - initial API and implementation

- */

-package org.eclipse.emf.ecp.workspace.internal.core;

-

-import org.eclipse.emf.common.util.URI;

-import org.eclipse.emf.ecore.resource.Resource;

-import org.eclipse.emf.ecore.resource.ResourceSet;

-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;

-import org.eclipse.emf.ecp.core.util.ECPModelContext;

-import org.eclipse.emf.ecp.spi.core.util.InternalChildrenList;

-

-import org.eclipse.core.resources.IContainer;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IMarker;

-import org.eclipse.core.resources.IPathVariableManager;

-import org.eclipse.core.resources.IProject;

-import org.eclipse.core.resources.IProjectDescription;

-import org.eclipse.core.resources.IResource;

-import org.eclipse.core.resources.IResourceProxy;

-import org.eclipse.core.resources.IResourceProxyVisitor;

-import org.eclipse.core.resources.IResourceVisitor;

-import org.eclipse.core.resources.IWorkspace;

-import org.eclipse.core.resources.ResourceAttributes;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IPath;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.QualifiedName;

-import org.eclipse.core.runtime.jobs.ISchedulingRule;

-

-import java.util.Map;

-

-/**

- * @author Eike Stepper

- */

-public abstract class ResourceWrapper<CONTEXT extends ECPModelContext> extends ModelWrapper<CONTEXT, IResource>

-	implements IResource {

-	public ResourceWrapper(CONTEXT context, IResource delegate) {

-		super(context, delegate);

-	}

-

-	public final URI getURI() {

-		return URI.createPlatformResourceURI(getDelegate().getFullPath().toPortableString(), true);

-	}

-

-	@Override

-	public String getName() {

-		return getDelegate().getName();

-	}

-

-	public void fillChildren(InternalChildrenList childrenList) {

-		IResource parent = getDelegate();

-		if (parent instanceof IFile) {

-			// fillFile(childrenList, (IFile) parent);

-		} else if (parent instanceof IContainer) {

-			fillContainer(childrenList, (IContainer) parent);

-		}

-	}

-

-	protected void fillFile(InternalChildrenList childrenList, IFile parent) {

-		try {

-			ResourceSet resourceSet = new ResourceSetImpl();

-			Resource emfResource = resourceSet.getResource(getURI(), true);

-			childrenList.addChildren(emfResource.getContents());

-		} catch (Exception ex) {

-			//$FALL-THROUGH$

-		}

-	}

-

-	protected void fillContainer(InternalChildrenList childrenList, IContainer container) {

-		try {

-			IResource[] members = container.members();

-			for (int i = 0; i < members.length; i++) {

-				IResource member = members[i];

-				// if (member.getType() == IResource.FILE)

-				// {

-				// try

-				// {

-				// URI uri = URI.createPlatformResourceURI(member.getFullPath().toPortableString(), true);

-				// ResourceSet resourceSet = new ResourceSetImpl();

-				// Resource emfResource = resourceSet.getResource(uri, true);

-				// emfResource.getContents().isEmpty(); // Ensure that resource can be loaded

-				// childrenList.addChild(emfResource);

-				// }

-				// catch (Exception ex)

-				// {

-				// //$FALL-THROUGH$

-				// }

-				// }

-				// else

-				// {

-				Object child = createChild(getContext(), member);

-				if (child != null) {

-					childrenList.addChild(child);

-				}

-				// }

-			}

-		} catch (CoreException ex) {

-			throw new RuntimeException(ex);

-		}

-	}

-

-	protected abstract Object createChild(CONTEXT context, IResource member);

-

-	/** {@inheritDoc} */

-	public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {

-		return getDelegate().getAdapter(adapter);

-	}

-

-	/** {@inheritDoc} */

-	public boolean contains(ISchedulingRule rule) {

-		return getDelegate().contains(rule);

-	}

-

-	/** {@inheritDoc} */

-	public boolean isConflicting(ISchedulingRule rule) {

-		return getDelegate().isConflicting(rule);

-	}

-

-	/** {@inheritDoc} */

-	public void accept(IResourceProxyVisitor visitor, int memberFlags) throws CoreException {

-		getDelegate().accept(visitor, memberFlags);

-	}

-

-	/*

-	 * This method has been added in 3.8!

-	 */

-	/** {@inheritDoc} */

-	public void accept(IResourceProxyVisitor visitor, int depth, int memberFlags) throws CoreException {

-		getDelegate().accept(visitor, depth, memberFlags);

-	}

-

-	/** {@inheritDoc} */

-	public void accept(IResourceVisitor visitor) throws CoreException {

-		getDelegate().accept(visitor);

-	}

-

-	/** {@inheritDoc} */

-	public void accept(IResourceVisitor visitor, int depth, boolean includePhantoms) throws CoreException {

-		getDelegate().accept(visitor, depth, includePhantoms);

-	}

-

-	/** {@inheritDoc} */

-	public void accept(IResourceVisitor visitor, int depth, int memberFlags) throws CoreException {

-		getDelegate().accept(visitor, depth, memberFlags);

-	}

-

-	/** {@inheritDoc} */

-	public void clearHistory(IProgressMonitor monitor) throws CoreException {

-		getDelegate().clearHistory(monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void copy(IPath destination, boolean force, IProgressMonitor monitor) throws CoreException {

-		getDelegate().copy(destination, force, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void copy(IPath destination, int updateFlags, IProgressMonitor monitor) throws CoreException {

-		getDelegate().copy(destination, updateFlags, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void copy(IProjectDescription description, boolean force, IProgressMonitor monitor) throws CoreException {

-		getDelegate().copy(description, force, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void copy(IProjectDescription description, int updateFlags, IProgressMonitor monitor) throws CoreException {

-		getDelegate().copy(description, updateFlags, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public IMarker createMarker(String type) throws CoreException {

-		return getDelegate().createMarker(type);

-	}

-

-	/** {@inheritDoc} */

-	public IResourceProxy createProxy() {

-		return getDelegate().createProxy();

-	}

-

-	/** {@inheritDoc} */

-	public void delete(boolean force, IProgressMonitor monitor) throws CoreException {

-		getDelegate().delete(force, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void delete(int updateFlags, IProgressMonitor monitor) throws CoreException {

-		getDelegate().delete(updateFlags, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void deleteMarkers(String type, boolean includeSubtypes, int depth) throws CoreException {

-		getDelegate().deleteMarkers(type, includeSubtypes, depth);

-	}

-

-	/** {@inheritDoc} */

-	public boolean exists() {

-		return getDelegate().exists();

-	}

-

-	/** {@inheritDoc} */

-	public IMarker findMarker(long id) throws CoreException {

-		return getDelegate().findMarker(id);

-	}

-

-	/** {@inheritDoc} */

-	public IMarker[] findMarkers(String type, boolean includeSubtypes, int depth) throws CoreException {

-		return getDelegate().findMarkers(type, includeSubtypes, depth);

-	}

-

-	/** {@inheritDoc} */

-	public int findMaxProblemSeverity(String type, boolean includeSubtypes, int depth) throws CoreException {

-		return getDelegate().findMaxProblemSeverity(type, includeSubtypes, depth);

-	}

-

-	/** {@inheritDoc} */

-	public String getFileExtension() {

-		return getDelegate().getFileExtension();

-	}

-

-	/** {@inheritDoc} */

-	public IPath getFullPath() {

-		return getDelegate().getFullPath();

-	}

-

-	/** {@inheritDoc} */

-	public long getLocalTimeStamp() {

-		return getDelegate().getLocalTimeStamp();

-	}

-

-	/** {@inheritDoc} */

-	public IPath getLocation() {

-		return getDelegate().getLocation();

-	}

-

-	/** {@inheritDoc} */

-	public java.net.URI getLocationURI() {

-		return getDelegate().getLocationURI();

-	}

-

-	/** {@inheritDoc} */

-	public IMarker getMarker(long id) {

-		return getDelegate().getMarker(id);

-	}

-

-	/** {@inheritDoc} */

-	public long getModificationStamp() {

-		return getDelegate().getModificationStamp();

-	}

-

-	/** {@inheritDoc} */

-	public IPathVariableManager getPathVariableManager() {

-		return getDelegate().getPathVariableManager();

-	}

-

-	/** {@inheritDoc} */

-	public IContainer getParent() {

-		return getDelegate().getParent();

-	}

-

-	/** {@inheritDoc} */

-	public Map<QualifiedName, String> getPersistentProperties() throws CoreException {

-		return getDelegate().getPersistentProperties();

-	}

-

-	/** {@inheritDoc} */

-	public String getPersistentProperty(QualifiedName key) throws CoreException {

-		return getDelegate().getPersistentProperty(key);

-	}

-

-	/** {@inheritDoc} */

-	public IProject getProject() {

-		return getDelegate().getProject();

-	}

-

-	/** {@inheritDoc} */

-	public IPath getProjectRelativePath() {

-		return getDelegate().getProjectRelativePath();

-	}

-

-	/** {@inheritDoc} */

-	public IPath getRawLocation() {

-		return getDelegate().getRawLocation();

-	}

-

-	/** {@inheritDoc} */

-	public java.net.URI getRawLocationURI() {

-		return getDelegate().getRawLocationURI();

-	}

-

-	/** {@inheritDoc} */

-	public ResourceAttributes getResourceAttributes() {

-		return getDelegate().getResourceAttributes();

-	}

-

-	/** {@inheritDoc} */

-	public Map<QualifiedName, Object> getSessionProperties() throws CoreException {

-		return getDelegate().getSessionProperties();

-	}

-

-	/** {@inheritDoc} */

-	public Object getSessionProperty(QualifiedName key) throws CoreException {

-		return getDelegate().getSessionProperty(key);

-	}

-

-	/** {@inheritDoc} */

-	public int getType() {

-		return getDelegate().getType();

-	}

-

-	/** {@inheritDoc} */

-	public IWorkspace getWorkspace() {

-		return getDelegate().getWorkspace();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isAccessible() {

-		return getDelegate().isAccessible();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isDerived() {

-		return getDelegate().isDerived();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isDerived(int options) {

-		return getDelegate().isDerived(options);

-	}

-

-	/** {@inheritDoc} */

-	public boolean isHidden() {

-		return getDelegate().isHidden();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isHidden(int options) {

-		return getDelegate().isHidden(options);

-	}

-

-	/** {@inheritDoc} */

-	public boolean isLinked() {

-		return getDelegate().isLinked();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isVirtual() {

-		return getDelegate().isVirtual();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isLinked(int options) {

-		return getDelegate().isLinked(options);

-	}

-

-	/** {@inheritDoc} */

-	@Deprecated

-	public boolean isLocal(int depth) {

-		return getDelegate().isLocal(depth);

-	}

-

-	/** {@inheritDoc} */

-	public boolean isPhantom() {

-		return getDelegate().isPhantom();

-	}

-

-	/** {@inheritDoc} */

-	@Deprecated

-	public boolean isReadOnly() {

-		return getDelegate().isReadOnly();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isSynchronized(int depth) {

-		return getDelegate().isSynchronized(depth);

-	}

-

-	/** {@inheritDoc} */

-	public boolean isTeamPrivateMember() {

-		return getDelegate().isTeamPrivateMember();

-	}

-

-	/** {@inheritDoc} */

-	public boolean isTeamPrivateMember(int options) {

-		return getDelegate().isTeamPrivateMember(options);

-	}

-

-	/** {@inheritDoc} */

-	public void move(IPath destination, boolean force, IProgressMonitor monitor) throws CoreException {

-		getDelegate().move(destination, force, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void move(IPath destination, int updateFlags, IProgressMonitor monitor) throws CoreException {

-		getDelegate().move(destination, updateFlags, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void move(IProjectDescription description, boolean force, boolean keepHistory, IProgressMonitor monitor)

-		throws CoreException {

-		getDelegate().move(description, force, keepHistory, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void move(IProjectDescription description, int updateFlags, IProgressMonitor monitor) throws CoreException {

-		getDelegate().move(description, updateFlags, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void refreshLocal(int depth, IProgressMonitor monitor) throws CoreException {

-		getDelegate().refreshLocal(depth, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void revertModificationStamp(long value) throws CoreException {

-		getDelegate().revertModificationStamp(value);

-	}

-

-	/** {@inheritDoc} */

-	@Deprecated

-	public void setDerived(boolean isDerived) throws CoreException {

-		getDelegate().setDerived(isDerived);

-	}

-

-	/** {@inheritDoc} */

-	public void setDerived(boolean isDerived, IProgressMonitor monitor) throws CoreException {

-		getDelegate().setDerived(isDerived, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public void setHidden(boolean isHidden) throws CoreException {

-		getDelegate().setHidden(isHidden);

-	}

-

-	/** {@inheritDoc} */

-	@Deprecated

-	public void setLocal(boolean flag, int depth, IProgressMonitor monitor) throws CoreException {

-		getDelegate().setLocal(flag, depth, monitor);

-	}

-

-	/** {@inheritDoc} */

-	public long setLocalTimeStamp(long value) throws CoreException {

-		return getDelegate().setLocalTimeStamp(value);

-	}

-

-	/** {@inheritDoc} */

-	public void setPersistentProperty(QualifiedName key, String value) throws CoreException {

-		getDelegate().setPersistentProperty(key, value);

-	}

-

-	/** {@inheritDoc} */

-	@Deprecated

-	public void setReadOnly(boolean readOnly) {

-		getDelegate().setReadOnly(readOnly);

-	}

-

-	/** {@inheritDoc} */

-	public void setResourceAttributes(ResourceAttributes attributes) throws CoreException {

-		getDelegate().setResourceAttributes(attributes);

-	}

-

-	/** {@inheritDoc} */

-	public void setSessionProperty(QualifiedName key, Object value) throws CoreException {

-		getDelegate().setSessionProperty(key, value);

-	}

-

-	/** {@inheritDoc} */

-	public void setTeamPrivateMember(boolean isTeamPrivate) throws CoreException {

-		getDelegate().setTeamPrivateMember(isTeamPrivate);

-	}

-

-	/** {@inheritDoc} */

-	public void touch(IProgressMonitor monitor) throws CoreException {

-		getDelegate().touch(monitor);

-	}

-}

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
index 26f7a8d..46814fc 100644
--- a/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
+++ b/ECP2/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
@@ -156,9 +156,6 @@
 				childrenList.addChildren(resource.getContents());

 			}

 

-		} else if (parent instanceof ResourceWrapper) {

-			ResourceWrapper<?> wrapper = (ResourceWrapper<?>) parent;

-			wrapper.fillChildren(childrenList);

 		} else {

 			super.fillChildren(context, parent, childrenList);

 		}

@@ -268,9 +265,6 @@
 

 	@Override

 	public ECPModelContext getModelContext(Object element) {

-		if (element instanceof ModelWrapper) {

-			return ((ModelWrapper<?, ?>) element).getContext();

-		}

 		return super.getModelContext(element);

 	}

 

@@ -311,134 +305,4 @@
 			}

 		}

 	}

-

-	// private static final IWorkspace WORKSPACE = ResourcesPlugin.getWorkspace();

-

-	// private static final IWorkspaceRoot WORKSPACE_ROOT = WORKSPACE.getRoot();

-

-	/*

-	 * public void resourceChanged(IResourceChangeEvent event) {

-	 * // IResourceDelta delta = event.getDelta();

-	 * // if (delta != null) {

-	 * // InternalRepository repository = getRepositories()[0];

-	 * // Object[] objects = getChangedObjects(delta, repository);

-	 * // repository.notifyObjectsChanged(objects);

-	 * //

-	 * // for (InternalProject project : getOpenProjects()) {

-	 * // objects = getChangedObjects(delta, project);

-	 * // project.notifyObjectsChanged(objects, true);

-	 * // }

-	 * // }

-	 * }

-	 */

-

-	/*

-	 * private Object[] getChangedObjects(IResourceDelta delta, InternalRepository repository) {

-	 * Set<Object> objects = new HashSet<Object>();

-	 * collectChangedObjects(delta, repository, objects);

-	 * return objects.toArray(new Object[objects.size()]);

-	 * }

-	 */

-

-	/*

-	 * private void collectChangedObjects(IResourceDelta delta, InternalRepository repository, Set<Object> objects) {

-	 * switch (delta.getKind()) {

-	 * case IResourceDelta.ADDED:

-	 * case IResourceDelta.REMOVED:

-	 * IResource resource = delta.getResource();

-	 * if (resource.getType() == IResource.PROJECT) {

-	 * objects.add(repository);

-	 * } else {

-	 * objects.add(new RepositoryResourceWrapper(repository, resource.getParent()));

-	 * }

-	 * return;

-	 * }

-	 * for (IResourceDelta child : delta.getAffectedChildren()) {

-	 * collectChangedObjects(child, repository, objects);

-	 * }

-	 * }

-	 */

-

-	/*

-	 * private Object[] getChangedObjects(IResourceDelta delta, InternalProject project) {

-	 * IPath rootPath = getRootResource(project).getFullPath();

-	 * IPath deltaPath = delta.getResource().getFullPath();

-	 * if (rootPath.equals(deltaPath)) {

-	 * return new Object[] { project };

-	 * }

-	 * if (rootPath.isPrefixOf(deltaPath)) {

-	 * Set<Object> objects = new HashSet<Object>();

-	 * collectChangedObjects(delta, project, objects);

-	 * return objects.toArray(new Object[objects.size()]);

-	 * }

-	 * return null;

-	 * }

-	 */

-	/*

-	 * private void collectChangedObjects(IResourceDelta delta, InternalProject project, Set<Object> objects) {

-	 * switch (delta.getKind()) {

-	 * case IResourceDelta.ADDED:

-	 * case IResourceDelta.REMOVED:

-	 * IResource resource = delta.getResource();

-	 * objects.add(new ProjectResourceWrapper(project, resource.getParent()));

-	 * return;

-	 * }

-	 * for (IResourceDelta child : delta.getAffectedChildren()) {

-	 * collectChangedObjects(child, project, objects);

-	 * }

-	 * }

-	 */

-	/*

-	 * public static Object getElement(ECPProject project, URI uri) {

-	 * if (uri == null) {

-	 * return WORKSPACE_ROOT;

-	 * }

-	 * if (uri.hasFragment()) {

-	 * ResourceSet resourceSet = project.getEditingDomain().getResourceSet();

-	 * return resourceSet.getEObject(uri, true);

-	 * }

-	 * String path = uri.toPlatformString(true);

-	 * return WORKSPACE_ROOT.findMember(path);

-	 * }

-	 * public static IResource getResource(ECPProject project, URI uri) {

-	 * if (uri != null) {

-	 * uri = uri.trimFragment();

-	 * }

-	 * return (IResource) getElement(project, uri);

-	 * }

-	 * public static Object getRootElement(ECPProject project) {

-	 * URI uri = getRootURI(project);

-	 * return getElement(project, uri);

-	 * }

-	 * public static IResource getRootResource(ECPProject project) {

-	 * URI uri = getRootURI(project);

-	 * return getResource(project, uri);

-	 * }

-	 * public static URI getRootURI(ECPProject project) {

-	 * String rootURI = project.getProperties().getValue(PROP_ROOT_URI);

-	 * return rootURI == null ? null : URI.createURI(rootURI);

-	 * }

-	 */

-

-	// public Iterator<EObject> getLinkElements(InternalProject project, EObject modelElement, EReference eReference) {

-	//

-	//

-	// Collection<EObject> visited = new HashSet<EObject>();

-	// Collection<EObject> result = new ArrayList<EObject>();

-	// for(InternalProject internalProject: getOpenProjects()){

-	// for (TreeIterator<?> i = resourceSet.getAllContents(); i.hasNext(); )

-	// {

-	// Object child = i.next();

-	// if (child instanceof EObject)

-	// {

-	// ItemPropertyDescriptor.collectReachableObjectsOfType(visited, result, (EObject)child, eReference.getEType());

-	// // ItemPropertyDescriptor.collectReachableObjectsOfType(visited, itemQueue, result, (EObject)child,

-	// eReference.getEType());

-	// i.prune();

-	// }

-	// }

-	// }

-	// return result.iterator();

-	// }

-

 }

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.ui/plugin.xml b/ECP2/org.eclipse.emf.ecp.workspace.ui/plugin.xml
index 504c460..273c362 100644
--- a/ECP2/org.eclipse.emf.ecp.workspace.ui/plugin.xml
+++ b/ECP2/org.eclipse.emf.ecp.workspace.ui/plugin.xml
@@ -14,10 +14,6 @@
    <extension

          point="org.eclipse.ui.commands">

       <command

-            id="org.eclipse.emf.ecp.workspace.ui.emptyResource"

-            name="Create Empty Resource">

-      </command>

-      <command

             id="org.eclipse.emf.ecp.workspace.internal.ui.undoLastCommand"

             name="Undo Last Command">

       </command>

@@ -25,10 +21,6 @@
    <extension

          point="org.eclipse.ui.handlers">

       <handler

-            class="org.eclipse.emf.ecp.workspace.internal.ui.CreateEmptyResourceHandler"

-            commandId="org.eclipse.emf.ecp.workspace.ui.emptyResource">

-      </handler>

-      <handler

             class="org.eclipse.emf.ecp.workspace.internal.ui.UndoLastCommandHandler"

             commandId="org.eclipse.emf.ecp.workspace.internal.ui.undoLastCommand">

          <enabledWhen>

diff --git a/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/CreateEmptyResourceHandler.java b/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/CreateEmptyResourceHandler.java
deleted file mode 100644
index 64f138b..0000000
--- a/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/CreateEmptyResourceHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- * 
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.workspace.internal.ui;
-
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecp.spi.core.InternalRepository;
-import org.eclipse.emf.ecp.workspace.internal.core.ResourceWrapper;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import java.io.IOException;
-
-/**
- * @author Eugen Neufeld
- * 
- */
-public class CreateEmptyResourceHandler extends AbstractHandler {
-
-	/** {@inheritDoc} */
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-
-		InputDialog id = new InputDialog(HandlerUtil.getActiveShell(event), "Name of Resource",
-			"Please enter the name for the resource", "my.resource", null);
-		int result = id.open();
-		if (Window.OK == result) {
-			String name = id.getValue();
-			ResourceWrapper<InternalRepository> wrapper = (ResourceWrapper<InternalRepository>) ((IStructuredSelection) HandlerUtil
-				.getCurrentSelection(event)).getFirstElement();
-			ResourceSet set = new ResourceSetImpl();
-
-			Resource res = set.createResource(wrapper.getURI().appendSegment(name));
-			try {
-				res.save(null);
-			} catch (IOException ex) {
-				// TODO Auto-generated catch block
-				ex.printStackTrace();
-			}
-		}
-
-		return null;
-	}
-
-}
diff --git a/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/WorkspaceUIProvider.java b/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/WorkspaceUIProvider.java
index eda1eb2..ea54273 100644
--- a/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/WorkspaceUIProvider.java
+++ b/ECP2/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/WorkspaceUIProvider.java
@@ -15,7 +15,6 @@
 import org.eclipse.emf.ecp.core.util.ECPProperties;

 import org.eclipse.emf.ecp.spi.ui.DefaultUIProvider;

 import org.eclipse.emf.ecp.ui.common.CompositeStateObserver;

-import org.eclipse.emf.ecp.workspace.internal.core.ResourceWrapper;

 import org.eclipse.emf.ecp.workspace.internal.core.WorkspaceProvider;

 

 import org.eclipse.jface.action.IMenuManager;

@@ -43,20 +42,12 @@
 

 	@Override

 	public String getText(Object element) {

-		if (element instanceof ResourceWrapper) {

-			ResourceWrapper<?> wrapper = (ResourceWrapper<?>) element;

-			return WORKBENCH_LABEL_PROVIDER.getText(wrapper.getDelegate());

-		}

-

 		return super.getText(element);

 	}

 

 	@Override

 	public Image getImage(Object element) {

-		if (element instanceof ResourceWrapper) {

-			ResourceWrapper<?> wrapper = (ResourceWrapper<?>) element;

-			return WORKBENCH_LABEL_PROVIDER.getImage(wrapper.getDelegate());

-		} else if (element instanceof ECPProject) {

+		if (element instanceof ECPProject) {

 			ECPProject project = (ECPProject) element;

 			if (project.isOpen()) {

 				return PROJECT_OPEN;