adapted to latest EMFStore changes
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java b/ECP2/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
index 0baee1c..f3c54d7 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.core/src/org/eclipse/emf/ecp/emfstore/core/internal/EMFStoreProvider.java
@@ -119,7 +119,7 @@
@Override
public EditingDomain createEditingDomain(final InternalProject project) {
- EditingDomain domain = ((ESWorkspaceImpl) ESWorkspaceProvider.INSTANCE.getWorkspace()).getInternalAPIImpl()
+ EditingDomain domain = ((ESWorkspaceImpl) ESWorkspaceProvider.INSTANCE.getWorkspace()).toInternalAPI()
.getEditingDomain();
return domain;
}
@@ -232,7 +232,7 @@
if (context instanceof InternalProject) {
ESLocalProject projectSpace = getProjectSpace((InternalProject) context);
- ((ESLocalProjectImpl) projectSpace).getInternalAPIImpl().getProject().eAdapters().remove(adapter);
+ ((ESLocalProjectImpl) projectSpace).toInternalAPI().getProject().eAdapters().remove(adapter);
}
@@ -253,7 +253,7 @@
if (localProject == null) {
return;
}
- ProjectSpace projectSpace = ((ESLocalProjectImpl) localProject).getInternalAPIImpl();
+ ProjectSpace projectSpace = ((ESLocalProjectImpl) localProject).toInternalAPI();
if (isAutosave()) {
// TODO EMFStore how to listen to operations?
@@ -305,7 +305,7 @@
public Iterator<EObject> getLinkElements(InternalProject project, EObject modelElement, EReference eReference) {
Collection<EObject> result = new HashSet<EObject>();
// TODO EMFStore does it work with ESLocalProject?
- ProjectSpace projectSpace = ((ESLocalProjectImpl) getProjectSpace(project)).getInternalAPIImpl();
+ ProjectSpace projectSpace = ((ESLocalProjectImpl) getProjectSpace(project)).toInternalAPI();
ItemPropertyDescriptor.collectReachableObjectsOfType(new HashSet<EObject>(), result, projectSpace.getProject(),
eReference.getEType());
return result.iterator();
@@ -335,7 +335,7 @@
/** {@inheritDoc} */
public void delete(InternalProject project, final Collection<EObject> eObjects) {
- final ProjectSpace projectSpace = ((ESLocalProjectImpl) getProjectSpace(project)).getInternalAPIImpl();
+ final ProjectSpace projectSpace = ((ESLocalProjectImpl) getProjectSpace(project)).toInternalAPI();
// TODO EMFStore how to delete eObject?
new EMFStoreCommand() {
@@ -352,8 +352,8 @@
/** {@inheritDoc} */
public void cloneProject(final InternalProject projectToClone, InternalProject targetProject) {
// TODO EMFStore how to clone local project?
- ProjectSpace toClone = ((ESLocalProjectImpl) getProjectSpace(projectToClone)).getInternalAPIImpl();
- ProjectSpace target = ((ESLocalProjectImpl) getProjectSpace(targetProject)).getInternalAPIImpl();
+ ProjectSpace toClone = ((ESLocalProjectImpl) getProjectSpace(projectToClone)).toInternalAPI();
+ ProjectSpace target = ((ESLocalProjectImpl) getProjectSpace(targetProject)).toInternalAPI();
target.setProject(EcoreUtil.copy(toClone.getProject()));
}
@@ -366,7 +366,7 @@
/** {@inheritDoc} */
public Notifier getRoot(InternalProject project) {
// TODO EMFStore other way to get root of localproject?
- return ((ESLocalProjectImpl) getProjectSpace(project)).getInternalAPIImpl().getProject();
+ return ((ESLocalProjectImpl) getProjectSpace(project)).toInternalAPI().getProject();
}
@Override
@@ -499,10 +499,10 @@
serverInfo = EMFStoreClientUtil.createServerInfo(
internalRepository.getProperties().getValue(EMFStoreProvider.PROP_REPOSITORY_URL),
Integer.parseInt(internalRepository.getProperties().getValue(EMFStoreProvider.PROP_PORT)),
- internalRepository.getProperties().getValue(EMFStoreProvider.PROP_CERTIFICATE)).getAPIImpl();
+ internalRepository.getProperties().getValue(EMFStoreProvider.PROP_CERTIFICATE)).toAPI();
workspace.addServer(serverInfo);
} else if (!foundExisting && !internalRepository.getProperties().hasProperties()) {
- serverInfo = EMFStoreClientUtil.giveServerInfo("localhost", 8080).getAPIImpl();
+ serverInfo = EMFStoreClientUtil.giveServerInfo("localhost", 8080).toAPI();
}
internalRepository.setProviderSpecificData(serverInfo);
}
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyDecorator.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyDecorator.java
index 0be5516..b482d84 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyDecorator.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyDecorator.java
@@ -60,7 +60,7 @@
return;
}
ProjectSpace projectSpace = ((ESLocalProjectImpl) EMFStoreProvider.INSTANCE.getProjectSpace(project))
- .getInternalAPIImpl();
+ .toInternalAPI();
if (!observers.containsKey(element)) {
EMFStoreDirtyObserver emfStoreDirtyObserver = new EMFStoreDirtyObserver(projectSpace, project);
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
index d5d9c1d..58468d8 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/EMFStoreDirtyObserver.java
@@ -161,7 +161,7 @@
if (cdo.isDelete()) {
lastAffected.addAll(EMFStoreDirtyDecoratorCachedTree.getInstance(internalProject).setOperationCount(
projectSpace.getProject().get(cdo.getModelElementId()),
- modelElementIdToOperationCount.get(cdo.getModelElementId().getAPIImpl())));
+ modelElementIdToOperationCount.get(cdo.getModelElementId().toAPI())));
modelElementIdToOperationCount.remove(projectSpace.getProject().get(cdo.getModelElementId()));
// TODO: consider containments
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
index 63621f7..aa537e0 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/decorator/RepositoryViewLabelDecorator.java
@@ -118,7 +118,7 @@
// TODO cast
fireLabelProviderChanged(new LabelProviderChangedEvent(RepositoryViewLabelDecorator.this,
EMFStoreProvider.INSTANCE.getRepository(((ESServerImpl) usersession.getServer())
- .getInternalAPIImpl())));
+ .toInternalAPI())));
}
});
}
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/CommitProjectHandler.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/CommitProjectHandler.java
index 7f86ca0..8c29f91 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/CommitProjectHandler.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/CommitProjectHandler.java
@@ -15,9 +15,6 @@
import org.eclipse.emf.ecp.emfstore.core.internal.EMFStoreProvider;
import org.eclipse.emf.ecp.spi.core.InternalProject;
import org.eclipse.emf.emfstore.client.ESLocalProject;
-import org.eclipse.emf.emfstore.internal.client.model.ServerInfo;
-import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
-import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESServerImpl;
import org.eclipse.emf.emfstore.internal.client.ui.controller.UICommitProjectController;
import org.eclipse.core.commands.AbstractHandler;
@@ -41,11 +38,12 @@
ESLocalProject localProject = EMFStoreProvider.INSTANCE.getProjectSpace(project);
// TODO EMFStore how to set usersession?
// -> why is this necessary? The project is already checked out
- if (localProject.getUsersession() == null) {
- ESServerImpl server = (ESServerImpl) EMFStoreProvider.INSTANCE.getServerInfo(project.getRepository());
- ServerInfo serverInfo = server.getInternalAPIImpl();
- ((ESLocalProjectImpl) localProject).getInternalAPIImpl().setUsersession(serverInfo.getLastUsersession());
- }
+ // if (localProject.getUsersession() == null) {
+ // ESServerImpl server = (ESServerImpl) EMFStoreProvider.INSTANCE.getServerInfo(project.getRepository());
+ // ServerInfo serverInfo = server.getInternalAPIImpl();
+ // RunESCommand
+ // ((ESLocalProjectImpl) localProject).getInternalAPIImpl().setUsersession(serverInfo.getLastUsersession());
+ // }
// ESUIControllerFactory.INSTANCE.commitProject(HandlerUtil.getActiveShell(event), projectSpace);
new UICommitProjectController(HandlerUtil.getActiveShell(event), localProject).execute();
// is structural because of possible merge
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ShareProjectHandler.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ShareProjectHandler.java
index d1a1fbc..8ac82d2 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ShareProjectHandler.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/ShareProjectHandler.java
@@ -17,6 +17,7 @@
import org.eclipse.emf.ecp.spi.core.InternalProject;
import org.eclipse.emf.ecp.spi.core.InternalRepository;
import org.eclipse.emf.emfstore.client.ESLocalProject;
+import org.eclipse.emf.emfstore.client.util.RunESCommand;
import org.eclipse.emf.emfstore.internal.client.model.ServerInfo;
import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESLocalProjectImpl;
import org.eclipse.emf.emfstore.internal.client.model.impl.api.ESServerImpl;
@@ -29,6 +30,8 @@
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.ui.handlers.HandlerUtil;
+import java.util.concurrent.Callable;
+
/**
* This is the EMFStore ShareProject Handler delegating to the EMFStore {@link UIShareProjectController}.
*
@@ -50,14 +53,19 @@
// TODO internal cast again
InternalRepository repository = (InternalRepository) rw.getSelectedRepository();
project.undispose(repository);
- ESLocalProject localProject = EMFStoreProvider.INSTANCE.getProjectSpace(project);
+ final ESLocalProject localProject = EMFStoreProvider.INSTANCE.getProjectSpace(project);
// TODO Ugly
if (localProject.getUsersession() == null) {
ESServerImpl server = (ESServerImpl) EMFStoreProvider.INSTANCE.getServerInfo(project.getRepository());
- ServerInfo serverInfo = server.getInternalAPIImpl();
- ((ESLocalProjectImpl) localProject).getInternalAPIImpl()
- .setUsersession(serverInfo.getLastUsersession());
+ final ServerInfo serverInfo = server.toInternalAPI();
+ RunESCommand.run(new Callable<Void>() {
+ public Void call() throws Exception {
+ ((ESLocalProjectImpl) localProject).toInternalAPI().setUsersession(
+ serverInfo.getLastUsersession());
+ return null;
+ }
+ });
}
// TODO EMFStore Constructor is missing
new UIShareProjectController(HandlerUtil.getActiveShell(event), localProject).execute();
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectHandler.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectHandler.java
index 3bc00eb..9c56b41 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectHandler.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectHandler.java
@@ -42,8 +42,8 @@
// TODO EMFStore how to set user session?
if (projectSpace.getUsersession() == null) {
ESServer serverInfo = EMFStoreProvider.INSTANCE.getServerInfo(project.getRepository());
- ((ESLocalProjectImpl) projectSpace).getInternalAPIImpl().setUsersession(
- ((ESUsersessionImpl) serverInfo.getLastUsersession()).getInternalAPIImpl());
+ ((ESLocalProjectImpl) projectSpace).toInternalAPI().setUsersession(
+ ((ESUsersessionImpl) serverInfo.getLastUsersession()).toInternalAPI());
}
new UIUpdateProjectController(HandlerUtil.getActiveShell(event), projectSpace).execute();
project.notifyObjectsChanged(new Object[] { project }, true);
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectToVersionHandler.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectToVersionHandler.java
index dd45b9a..d90c13e 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectToVersionHandler.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/handler/UpdateProjectToVersionHandler.java
@@ -42,8 +42,8 @@
// TODO Ugly
if (projectSpace.getUsersession() == null) {
ESServer serverInfo = EMFStoreProvider.INSTANCE.getServerInfo(project.getRepository());
- ((ESLocalProjectImpl) projectSpace).getInternalAPIImpl().setUsersession(
- ((ESUsersessionImpl) serverInfo.getLastUsersession()).getInternalAPIImpl());
+ ((ESLocalProjectImpl) projectSpace).toInternalAPI().setUsersession(
+ ((ESUsersessionImpl) serverInfo.getLastUsersession()).toInternalAPI());
}
new UIUpdateProjectToVersionController(HandlerUtil.getActiveShell(event), projectSpace).execute();
project.notifyObjectsChanged(new Object[] { project }, true);
diff --git a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/property/EMFStoreIsServerAdminTester.java b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/property/EMFStoreIsServerAdminTester.java
index b89e537..c31dc21 100644
--- a/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/property/EMFStoreIsServerAdminTester.java
+++ b/ECP2/org.eclipse.emf.ecp.emfstore.ui/src/org/eclipse/emf/ecp/emfstore/internal/ui/property/EMFStoreIsServerAdminTester.java
@@ -48,7 +48,7 @@
}
ServerInfo serverInfo = ((ESServerImpl) EMFStoreProvider.INSTANCE.getServerInfo(repository))
- .getInternalAPIImpl();
+ .toInternalAPI();
Usersession usersession = serverInfo.getLastUsersession();
boolean isAdmin = false;
if (usersession != null && usersession.getACUser() != null) {