From 614bf90b1f8a62685b8626691fd70c82fe0bfcd4 Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Wed, 6 Apr 2011 11:02:50 +0000
Subject: [PATCH] moved from org.unicase to org.eclipse.emf.emfstore,
 org.eclipse.emf.ecp

---
 org.fortiss.tooling.base/trunk/plugin.xml     |   7 --
 .../trunk/META-INF/MANIFEST.MF                |   7 +-
 org.fortiss.tooling.kernel/trunk/plugin.xml   |  21 ++--
 .../kernel/internal/ActionService.java        |   5 +-
 .../kernel/internal/CommandStackService.java  | 107 ++++++++----------
 .../NavigatorTreeContentProvider.java         |  16 +--
 .../internal/navigator/NavigatorViewPart.java |  95 +++-------------
 .../properties/PropertiesAdapterFactory.java  |   2 +-
 .../kernel/util/ProjectRootElementUtils.java  |  15 ++-
 9 files changed, 91 insertions(+), 184 deletions(-)

diff --git a/org.fortiss.tooling.base/trunk/plugin.xml b/org.fortiss.tooling.base/trunk/plugin.xml
index cc6871f79..1f620f102 100644
--- a/org.fortiss.tooling.base/trunk/plugin.xml
+++ b/org.fortiss.tooling.base/trunk/plugin.xml
@@ -16,11 +16,4 @@
             class="org.fortiss.tooling.base.model.BasePackage"
             genModel="model/base.genmodel"/>
    </extension>
-   <extension
-         point="org.eclipse.emf.ecp.model.ecppackage">
-      <modelPackage
-            modelPackage="http://www.fortiss.org/tooling/base">
-      </modelPackage>
-   </extension>
-
 </plugin>
diff --git a/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
index 1e540c77a..907d43c5d 100644
--- a/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.kernel/trunk/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@ Bundle-Activator: org.fortiss.tooling.kernel.ToolingKernelActivator
 Bundle-Vendor: fortiss
 Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
  org.eclipse.core.databinding;visibility:=reexport,
+ org.eclipse.jface.databinding;bundle-version="1.4.0";visibility:=reexport,
  org.eclipse.ui;visibility:=reexport,
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="2.6.1";visibility:=reexport,
@@ -15,9 +16,9 @@ Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
  org.conqat.ide.commons.ui;bundle-version="2.7.0";visibility:=reexport,
  org.conqat.ide.commons.gef;bundle-version="2.7.0",
  org.eclipse.jdt.ui;bundle-version="3.6.2",
- org.eclipse.emf.emfstore.server;bundle-version="0.7.3";visibility:=reexport,
- org.eclipse.emf.ecp.common;bundle-version="0.7.3";visibility:=reexport,
- org.eclipse.emf.emfstore.client;bundle-version="0.7.3";visibility:=reexport
+ org.eclipse.emf.emfstore.server;bundle-version="0.7.3",
+ org.eclipse.emf.emfstore.client;bundle-version="0.7.3",
+ org.eclipse.emf.emfstore.client.ui;bundle-version="0.7.3"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Export-Package: org.fortiss.tooling.kernel;uses:="org.eclipse.jface.resource,org.eclipse.ui.plugin,org.osgi.framework",
diff --git a/org.fortiss.tooling.kernel/trunk/plugin.xml b/org.fortiss.tooling.kernel/trunk/plugin.xml
index 86535e9ab..9c66cdec6 100644
--- a/org.fortiss.tooling.kernel/trunk/plugin.xml
+++ b/org.fortiss.tooling.kernel/trunk/plugin.xml
@@ -89,31 +89,36 @@
                      variable="activeMenuSelection">
                   <iterate>
                      <adapt
-                           type="org.unicase.workspace.ProjectSpace">
+                           type="org.eclipse.emf.emfstore.client.model.ProjectSpace">
                      </adapt>
                   </iterate>
                </with>
             </visibleWhen>
             <command
-                  commandId="org.unicase.workspace.ui.commitProject"
+                  commandId="org.eclipse.emf.emfstore.client.ui.commitProject"
                   label="Commit..."
                   style="push">
             </command>
             <command
-                  commandId="org.unicase.workspace.ui.updateProject"
+                  commandId="org.eclipse.emf.emfstore.client.ui.updateProject"
                   label="Update to HEAD"
                   style="push">
             </command>
             <command
-                  commandId="org.unicase.workspace.ui.updateProjectVersion"
+                  commandId="org.eclipse.emf.emfstore.client.ui.updateProjectVersion"
                   label="Update to Version..."
                   style="push">
             </command>
             <command
-                  commandId="org.unicase.workspace.ui.revert"
+                  commandId="org.eclipse.emf.emfstore.client.ui.revert"
                   label="Revert"
                   style="push">
             </command>
+            <command
+                  commandId="org.eclipse.emf.emfstore.client.ui.deleteProject"
+                  label="Delete Local Project"
+                  style="push">
+            </command>
          </menu>
       </menuContribution>
    </extension>
@@ -177,12 +182,6 @@
          </propertySection>
       </propertySections>
    </extension>
-   <extension
-         point="org.eclipse.emf.ecp.model.ecppackage">
-      <modelPackage
-            modelPackage="http://www.fortiss.org/tooling/kernel">
-      </modelPackage>
-   </extension>
    <extension
          point="org.fortiss.tooling.kernel.modelElementHandler">
       <modelElementHandler
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ActionService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ActionService.java
index bcd0fd98a..21f0f8296 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ActionService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ActionService.java
@@ -19,6 +19,7 @@ package org.fortiss.tooling.kernel.internal;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.emfstore.client.model.ProjectSpace;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuManager;
@@ -100,7 +101,9 @@ public class ActionService implements IActionService {
 				if (selectedObject instanceof IRemovable) {
 					return ((IRemovable) selectedObject).canRemove();
 				}
-				return selectedObject.eContainer() != null;
+				// ProjectSpace must be deleted with repository command
+				return !(selectedObject instanceof ProjectSpace)
+						&& selectedObject.eContainer() != null;
 			}
 			return false;
 		}
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
index 2b7ba0c96..08ba85fbc 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/CommandStackService.java
@@ -20,21 +20,15 @@ package org.fortiss.tooling.kernel.internal;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.common.model.ECPWorkspaceManager;
-import org.eclipse.emf.ecp.common.model.NoWorkspaceException;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPProject;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPWorkspace;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.WorkSpaceModelPackage;
 import org.eclipse.emf.edit.command.ChangeCommand;
-import org.fortiss.tooling.kernel.ToolingKernelActivator;
+import org.eclipse.emf.emfstore.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.client.model.Workspace;
+import org.eclipse.emf.emfstore.client.model.WorkspaceManager;
+import org.eclipse.emf.emfstore.common.model.Project;
 import org.fortiss.tooling.kernel.services.ICommandStackService;
-import org.fortiss.tooling.kernel.util.ProjectRootElementUtils;
 
 /**
  * This class implements the {@link ICommandStackService} interface. We have to
@@ -53,27 +47,14 @@ public class CommandStackService implements ICommandStackService {
 	private AdapterImpl workspaceListener;
 
 	/** Stores the EmfStore workspace. */
-	private ECPWorkspace workspace;
+	private Workspace workspace;
 
 	/** Stores the project command stacks. */
-	private Map<ECPProject, BasicCommandStack> commandStackMap = new HashMap<ECPProject, BasicCommandStack>();
+	private Map<Project, BasicCommandStack> commandStackMap = new HashMap<Project, BasicCommandStack>();
 
 	/** Constructor. */
 	public CommandStackService() {
-		try {
-			workspace = ECPWorkspaceManager.getInstance().getWorkSpace();
-		} catch (NoWorkspaceException e) {
-			LoggingUtils.log(ToolingKernelActivator.getDefault(),
-					e.getMessage(), IStatus.ERROR, e);
-			return;
-		}
-
-		createWorkspaceListener();
-		workspace.eAdapters().add(workspaceListener);
-
-		for (ECPProject project : workspace.getProjects()) {
-			addCommandStack(project);
-		}
+		workspace = WorkspaceManager.getInstance().getCurrentWorkspace();
 	}
 
 	/** {@inheritDoc} */
@@ -86,36 +67,38 @@ public class CommandStackService implements ICommandStackService {
 				runner.run();
 			}
 		};
-		commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
-				.execute(chgCommand);
+		// commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
+		// .execute(chgCommand);
 	}
 
 	/** {@inheritDoc} */
 	@Override
 	public boolean canUndo(EObject target) {
-		return commandStackMap.get(
-				ProjectRootElementUtils.getECPProject(target)).canUndo();
+		return false;
+		// return commandStackMap.get(
+		// ProjectRootElementUtils.getECPProject(target)).canUndo();
 	}
 
 	/** {@inheritDoc} */
 	@Override
 	public boolean canRedo(EObject target) {
-		return commandStackMap.get(
-				ProjectRootElementUtils.getECPProject(target)).canRedo();
+		return false;
+		// return commandStackMap.get(
+		// ProjectRootElementUtils.getECPProject(target)).canRedo();
 	}
 
 	/** {@inheritDoc} */
 	@Override
 	public void undo(EObject target) {
-		commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
-				.undo();
+		// commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
+		// .undo();
 	}
 
 	/** {@inheritDoc} */
 	@Override
 	public void redo(EObject target) {
-		commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
-				.redo();
+		// commandStackMap.get(ProjectRootElementUtils.getECPProject(target))
+		// .redo();
 	}
 
 	/**
@@ -123,35 +106,37 @@ public class CommandStackService implements ICommandStackService {
 	 * added projects. It also unregisters command stacks from removed projects.
 	 */
 	private void createWorkspaceListener() {
-		workspaceListener = new AdapterImpl() {
-
-			@Override
-			public void notifyChanged(Notification msg) {
-				if ((msg.getFeatureID(ECPWorkspace.class)) == WorkSpaceModelPackage.ECP_WORKSPACE__PROJECTS) {
-					if (msg.getEventType() == Notification.ADD
-							&& WorkSpaceModelPackage.eINSTANCE.getECPProject()
-									.isInstance(msg.getNewValue())) {
-						addCommandStack((ECPProject) msg.getNewValue());
-					} else if (msg.getEventType() == Notification.REMOVE
-							&& WorkSpaceModelPackage.eINSTANCE.getECPProject()
-									.isInstance(msg.getOldValue())) {
-						removeCommandStack((ECPProject) msg.getOldValue());
-					}
-				}
-				super.notifyChanged(msg);
-			}
-		};
+		// workspaceListener = new AdapterImpl() {
+		//
+		// @Override
+		// public void notifyChanged(Notification msg) {
+		// if ((msg.getFeatureID(Workspace.class)) ==
+		// WorkSpaceModelPackage.ECP_WORKSPACE__PROJECTS) {
+		// if (msg.getEventType() == Notification.ADD
+		// && WorkSpaceModelPackage.eINSTANCE.getECPProject()
+		// .isInstance(msg.getNewValue())) {
+		// addCommandStack((ECPProject) msg.getNewValue());
+		// } else if (msg.getEventType() == Notification.REMOVE
+		// && WorkSpaceModelPackage.eINSTANCE.getECPProject()
+		// .isInstance(msg.getOldValue())) {
+		// removeCommandStack((ECPProject) msg.getOldValue());
+		// }
+		// }
+		// super.notifyChanged(msg);
+		// }
+		// };
 	}
 
-	/** Adds the command stack for the given project. */
-	private void addCommandStack(ECPProject project) {
-		BasicCommandStack cmdStack = (BasicCommandStack) project
-				.getEditingDomain().getCommandStack();
-		commandStackMap.put(project, cmdStack);
+	/** Adds the command stack for the given project space. */
+	private void addCommandStack(ProjectSpace projectSpace) {
+		// BasicCommandStack cmdStack = (BasicCommandStack)
+		// projectSpace.getProject()
+		// .getEditingDomain().getCommandStack();
+		// commandStackMap.put(project, cmdStack);
 	}
 
 	/** Removes the command stack for the given project. */
-	private void removeCommandStack(ECPProject project) {
-		commandStackMap.remove(project);
+	private void removeCommandStack(ProjectSpace project) {
+		// commandStackMap.remove(project);
 	}
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorTreeContentProvider.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorTreeContentProvider.java
index 043fabd16..885ec05e5 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorTreeContentProvider.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorTreeContentProvider.java
@@ -17,12 +17,8 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.kernel.internal.navigator;
 
-import java.util.ArrayList;
-
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPProject;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPWorkspace;
+import org.eclipse.emf.emfstore.client.model.Workspace;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.fortiss.tooling.kernel.interfaces.IHandler;
@@ -41,14 +37,8 @@ public class NavigatorTreeContentProvider implements ITreeContentProvider {
 	/** {@inheritDoc} */
 	@Override
 	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof ECPWorkspace) {
-			ArrayList<EObject> ret = new ArrayList<EObject>();
-			EList<ECPProject> projects = ((ECPWorkspace) inputElement)
-					.getProjects();
-			for (ECPProject ecpProject : projects) {
-				ret.add(ecpProject.getRootObject());
-			}
-			return ret.toArray();
+		if (inputElement instanceof Workspace) {
+			return ((Workspace) inputElement).getProjectSpaces().toArray();
 		}
 		return null;
 	}
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
index 96aecf614..bd4ecebf0 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
@@ -20,19 +20,16 @@ package org.fortiss.tooling.kernel.internal.navigator;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.notify.impl.AdapterImpl;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.common.model.ECPWorkspaceManager;
-import org.eclipse.emf.ecp.common.model.NoWorkspaceException;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPProject;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPProjectListener;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPWorkspace;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.WorkSpaceModelPackage;
+import org.eclipse.emf.emfstore.client.model.ModelPackage;
+import org.eclipse.emf.emfstore.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.client.model.Workspace;
+import org.eclipse.emf.emfstore.client.model.WorkspaceManager;
 import org.eclipse.jface.action.IContributionItem;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.DecoratingLabelProvider;
@@ -53,7 +50,6 @@ import org.eclipse.ui.progress.UIJob;
 import org.eclipse.ui.views.properties.IPropertySheetPage;
 import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
-import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.interfaces.ICustomMenuContributor;
 import org.fortiss.tooling.kernel.internal.NavigatorService;
 import org.fortiss.tooling.kernel.services.IActionService;
@@ -79,14 +75,11 @@ public final class NavigatorViewPart extends ViewPart implements
 	private TreeViewer viewer;
 
 	/** Stores the EmfStore workspace. */
-	private ECPWorkspace workspace;
+	private Workspace workspace;
 
 	/** Stores the workspace listener. */
 	private AdapterImpl workspaceListener;
 
-	/** Stores the project listener. */
-	private ECPProjectListener projectListener;
-
 	/** Stores the menu manager. */
 	private MenuManager menuManager;
 
@@ -101,78 +94,40 @@ public final class NavigatorViewPart extends ViewPart implements
 
 	/** Constructor. */
 	public NavigatorViewPart() {
-		try {
-			workspace = ECPWorkspaceManager.getInstance().getWorkSpace();
-		} catch (NoWorkspaceException e) {
-			LoggingUtils.log(ToolingKernelActivator.getDefault(),
-					e.getMessage(), IStatus.ERROR, e);
-			return;
-		}
-
-		createProjectListener();
-		for (ECPProject project : workspace.getProjects()) {
-			project.addECPProjectListener(projectListener);
-		}
+		workspace = WorkspaceManager.getInstance().getCurrentWorkspace();
 
 		createWorkspaceListener();
-		workspace.eAdapters().add(workspaceListener);
 
 		((NavigatorService) INavigatorService.INSTANCE)
 				.setNavigatorViewPart(this);
 	}
 
-	/**
-	 * Creates the workspace listener, which registers the project listener on
-	 * added projects. It also unregisters the project listener from removed
-	 * projects.
-	 */
+	/** Creates the workspace listener. */
 	private void createWorkspaceListener() {
 		workspaceListener = new AdapterImpl() {
-
 			@Override
 			public void notifyChanged(Notification msg) {
-				if ((msg.getFeatureID(ECPWorkspace.class)) == WorkSpaceModelPackage.ECP_WORKSPACE__PROJECTS) {
+				if ((msg.getFeatureID(Workspace.class)) == ModelPackage.WORKSPACE__PROJECT_SPACES) {
 					if (msg.getEventType() == Notification.ADD
-							&& WorkSpaceModelPackage.eINSTANCE.getECPProject()
+							&& ModelPackage.eINSTANCE.getProjectSpace()
 									.isInstance(msg.getNewValue())) {
-						ECPProject projectSpace = (ECPProject) msg
+						ProjectSpace projectSpace = (ProjectSpace) msg
 								.getNewValue();
-						projectSpace.addECPProjectListener(projectListener);
+						// projectSpace.addECPProjectListener(projectListener);
 					} else if (msg.getEventType() == Notification.REMOVE
-							&& WorkSpaceModelPackage.eINSTANCE.getECPProject()
+							&& ModelPackage.eINSTANCE.getProjectSpace()
 									.isInstance(msg.getOldValue())) {
-						ECPProject projectSpace = (ECPProject) msg
+						ProjectSpace projectSpace = (ProjectSpace) msg
 								.getOldValue();
-						projectSpace.removeECPProjectListener(projectListener);
+						// projectSpace.removeECPProjectListener(projectListener);
 					}
 					updateUI.schedule();
 				}
 				super.notifyChanged(msg);
 			}
-		};
-	}
-
-	/**
-	 * Creates the project listener, which refreshes the viewer upon any
-	 * changes.
-	 */
-	private void createProjectListener() {
-		projectListener = new ECPProjectListener() {
-			@Override
-			public void projectDeleted() {
-				// ignore
-			}
 
-			@Override
-			public void projectChanged() {
-				updateUI.schedule();
-			}
-
-			@Override
-			public void modelelementDeleted(EObject eobject) {
-				// ignore
-			}
 		};
+		workspace.eAdapters().add(workspaceListener);
 	}
 
 	/** {@inheritDoc} */
@@ -240,23 +195,10 @@ public final class NavigatorViewPart extends ViewPart implements
 		// TODO (FH): implement link with editor feature here
 	}
 
-	/** Sets the active ECPProject element. */
-	private void setActiveECPProject(Object obj) {
-		if (obj instanceof EObject) {
-			try {
-				ECPWorkspaceManager.getInstance().getWorkSpace()
-						.setActiveModelelement((EObject) obj);
-			} catch (NoWorkspaceException e) {
-				LoggingUtils.error(ToolingKernelActivator.getDefault(),
-						e.getMessage(), e);
-			}
-		}
-
-	}
-
 	/** {@inheritDoc} */
 	@Override
 	public void dispose() {
+		workspace.eAdapters().remove(workspaceListener);
 		((NavigatorService) INavigatorService.INSTANCE)
 				.setNavigatorViewPart(null);
 
@@ -264,11 +206,6 @@ public final class NavigatorViewPart extends ViewPart implements
 				.getSelectionService().removeSelectionListener(this);
 		getSite().setSelectionProvider(null);
 
-		workspace.eAdapters().remove(workspaceListener);
-		for (ECPProject project : workspace.getProjects()) {
-			project.removeECPProjectListener(projectListener);
-		}
-
 		super.dispose();
 	}
 
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/properties/PropertiesAdapterFactory.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/properties/PropertiesAdapterFactory.java
index 7ccda9244..3b9df3381 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/properties/PropertiesAdapterFactory.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/properties/PropertiesAdapterFactory.java
@@ -40,7 +40,7 @@ public final class PropertiesAdapterFactory implements IAdapterFactory {
 		if (adapterType == ITabbedPropertySheetPageContributor.class
 				&& adaptableObject instanceof EObject) {
 			EObject modelElement = (EObject) adaptableObject;
-			if (ProjectRootElementUtils.getECPProject(modelElement) != null) {
+			if (ProjectRootElementUtils.getProjectSpace(modelElement) != null) {
 				return new ITabbedPropertySheetPageContributor() {
 
 					@Override
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ProjectRootElementUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ProjectRootElementUtils.java
index 24647b02a..cf11b33f3 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ProjectRootElementUtils.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/util/ProjectRootElementUtils.java
@@ -20,9 +20,9 @@ package org.fortiss.tooling.kernel.util;
 import org.conqat.ide.commons.ui.logging.LoggingUtils;
 import org.conqat.lib.commons.reflect.ReflectionUtils;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecp.common.model.ECPWorkspaceManager;
-import org.eclipse.emf.ecp.common.model.workSpaceModel.ECPProject;
 import org.eclipse.emf.emfstore.client.model.ProjectSpace;
+import org.eclipse.emf.emfstore.client.model.WorkspaceManager;
+import org.eclipse.emf.emfstore.common.model.Project;
 import org.fortiss.tooling.kernel.ToolingKernelActivator;
 import org.fortiss.tooling.kernel.model.IProjectRootElement;
 
@@ -39,10 +39,9 @@ public final class ProjectRootElementUtils {
 	/**
 	 * Returns the model element's ECP project or <code>null</code> .
 	 */
-	public static ECPProject getECPProject(EObject element) {
+	public static ProjectSpace getProjectSpace(EObject element) {
 		try {
-			return ECPWorkspaceManager.getInstance().getWorkSpace()
-					.getProject(element);
+			return WorkspaceManager.getProjectSpace(element);
 		} catch (Exception e) {
 			LoggingUtils.error(ToolingKernelActivator.getDefault(),
 					"Unable to find ECP project!", e);
@@ -56,8 +55,8 @@ public final class ProjectRootElementUtils {
 	 */
 	public static <T extends IProjectRootElement> T getRootElement(
 			EObject element, Class<T> clazz) {
-		ECPProject project = getECPProject(element);
-		return ReflectionUtils.pickInstanceOf(clazz, ((ProjectSpace) project
-				.getRootObject()).getProject().getAllModelElements());
+		Project project = getProjectSpace(element).getProject();
+		return ReflectionUtils.pickInstanceOf(clazz,
+				project.getAllModelElements());
 	}
 }
-- 
GitLab