package org.eclipse.emf.emfstore.client.ui.controller; import org.eclipse.emf.emfstore.client.model.ServerInfo; import org.eclipse.emf.emfstore.client.model.Usersession; import org.eclipse.emf.emfstore.client.model.WorkspaceManager; import org.eclipse.emf.emfstore.client.ui.dialogs.login.LoginDialogController; import org.eclipse.emf.emfstore.client.ui.handlers.AbstractEMFStoreUIController; import org.eclipse.emf.emfstore.server.exceptions.AccessControlException; import org.eclipse.emf.emfstore.server.exceptions.EmfStoreException; import org.eclipse.swt.widgets.Shell; public class UISessionController extends AbstractEMFStoreUIController { public UISessionController(Shell shell) { super(shell); } public void login(ServerInfo serverInfo) throws EmfStoreException { try { LoginDialogController loginDialogController = new LoginDialogController(); loginDialogController.login(serverInfo); } catch (AccessControlException e) { // don't show user that login failed, duh. } } public void logout(Usersession session) throws EmfStoreException { if (session == null) { return; } session.logout(); // reset the password in the RAM cache if (!session.isSavePassword()) { session.setPassword(null); } WorkspaceManager.getInstance().getCurrentWorkspace().save(); } }