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) {