package org.eclipse.emf.emfstore.client.ui.controller; import org.eclipse.emf.emfstore.client.model.ServerInfo; import org.eclipse.emf.emfstore.client.model.WorkspaceManager; import org.eclipse.emf.emfstore.client.model.connectionmanager.ServerCall; import org.eclipse.emf.emfstore.client.ui.handlers.AbstractEMFStoreUIController; import org.eclipse.emf.emfstore.server.exceptions.EmfStoreException; import org.eclipse.emf.emfstore.server.model.ProjectInfo; import org.eclipse.emf.emfstore.server.model.versioning.PrimaryVersionSpec; import org.eclipse.swt.widgets.Shell; public class UICheckoutController extends AbstractEMFStoreUIController { /** * Constructor. * * @param shell * the parent {@link Shell} */ public UICheckoutController(Shell shell) { super(shell); } public void checkout(ServerInfo serverInfo, ProjectInfo projectInfo) throws EmfStoreException { checkout(serverInfo, projectInfo, null); } public void checkout(ServerInfo serverInfo, final ProjectInfo projectInfo, final PrimaryVersionSpec versionSpec) throws EmfStoreException { new ServerCall<Void>(serverInfo) { @Override protected Void run() throws EmfStoreException { if (versionSpec == null) { WorkspaceManager.getInstance().getCurrentWorkspace().checkout(getUsersession(), projectInfo); } else { WorkspaceManager.getInstance().getCurrentWorkspace() .checkout(getUsersession(), projectInfo, versionSpec); } return null; } }.execute(); } }