429783: Checkout of EMFStore-Project does not create ECPProject with Repositoy
https://bugs.eclipse.org/bugs/show_bug.cgi?id=429783
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
index 221dead..68b0eb0 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
@@ -562,10 +562,10 @@
 	/**

 	 * This gets the ECPRepository based on a ServerInfo.

 	 * 

-	 * @param serverInfo the {@link ServerInfo} to get the {@link ECPRepository} for

+	 * @param serverInfo the {@link ESServer} to get the {@link ECPRepository} for

 	 * @return the {@link ECPRepository} corresponding to this ServerInfo or null if none found

 	 */

-	public ECPRepository getRepository(ServerInfo serverInfo) {

+	public ECPRepository getRepository(ESServer serverInfo) {

 		if (serverInfo != null) {

 			for (final ECPRepository internalRepository : ECPUtil.getECPRepositoryManager().getRepositories()) {

 				if (internalRepository.getProvider().equals(this)) {

diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
index 4c8a581..79ff4e0 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
@@ -23,7 +23,6 @@
 import org.eclipse.emf.emfstore.client.ESUsersession;
 import org.eclipse.emf.emfstore.client.observer.ESLoginObserver;
 import org.eclipse.emf.emfstore.client.observer.ESLogoutObserver;
-import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESServerImpl;
 import org.eclipse.jface.viewers.IDecoration;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ILightweightLabelDecorator;
@@ -121,8 +120,8 @@
 					// EMFStoreProvider.INSTANCE.getRepository(((ESServerImpl) usersession.getServer())
 					// .toInternalAPI())));
 					((EMFStoreProvider) ECPUtil.getResolvedElement(ECPUtil.getECPProviderRegistry()
-						.getProvider(EMFStoreProvider.NAME))).getRepository(((ESServerImpl) usersession.getServer())
-						.toInternalAPI())));
+						.getProvider(EMFStoreProvider.NAME))).getRepository(usersession.getServer()
+						)));
 			}
 		});
 	}
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/observer/CheckoutObserver.java b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/observer/CheckoutObserver.java
index 76e5779..974333c 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/observer/CheckoutObserver.java
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/observer/CheckoutObserver.java
@@ -15,6 +15,7 @@
 import java.util.Date;
 
 import org.eclipse.emf.ecp.core.ECPProject;
+import org.eclipse.emf.ecp.core.ECPRepository;
 import org.eclipse.emf.ecp.core.exceptions.ECPProjectWithNameExistsException;
 import org.eclipse.emf.ecp.core.util.ECPProperties;
 import org.eclipse.emf.ecp.core.util.ECPUtil;
@@ -43,6 +44,8 @@
 	 */
 	public void checkoutDone(ESLocalProject project) {
 
+		final ECPRepository repository = EMFStoreProvider.INSTANCE.getRepository(
+			project.getUsersession().getServer());
 		boolean ecpProjectExists = false;
 		boolean validProjectName = false;
 
@@ -62,7 +65,7 @@
 		if (!ecpProjectExists) {
 			while (!validProjectName) {
 				try {
-					ECPUtil.getECPProjectManager().createProject(EMFStoreProvider.INSTANCE.getProvider(), projectName,
+					ECPUtil.getECPProjectManager().createProject(repository, projectName,
 						createECPProperties(project));
 					validProjectName = true;
 				} catch (final ECPProjectWithNameExistsException ex) {