1 18 package org.visualcontent.ui.nodetree; 19 20 import org.eclipse.jface.action.IAction; 21 import org.eclipse.jface.viewers.ISelection; 22 import org.eclipse.ui.IViewActionDelegate; 23 import org.eclipse.ui.IViewPart; 24 import org.visualcontent.extensionpoints.RepositoryThrowable; 25 import org.visualcontent.extensionpoints.SessionThrowable; 26 import org.visualcontent.extensionpoints.VCRepository; 27 import org.visualcontent.extensionpoints.VCSession; 28 import org.visualcontent.ui.UiPlugin; 29 30 public class SessionLogoutAction implements IViewActionDelegate { 31 32 NodeTreeViewPart nodeTreeView=null; 33 34 public void init(IViewPart view) { 35 nodeTreeView = (NodeTreeViewPart) view; 36 } 37 38 public void run(IAction action) { 39 logout(nodeTreeView); 40 } 41 42 public static void logout(NodeTreeViewPart nodeTreeView) { 43 if (nodeTreeView!=null){ 44 nodeTreeView.setInput(null); 45 try { 46 VCRepository repository = nodeTreeView.getVcRepository(); 47 if (repository!=null){ 48 repository.releaseRepository(); 49 } 50 } catch (RepositoryThrowable e1) { 51 UiPlugin.getDefault().showError("Could not release the repository.",e1); 52 } 53 VCSession vcSession = nodeTreeView.getVcSession(); 54 if (vcSession !=null) { 55 try { 56 vcSession.logout(); 57 } catch (SessionThrowable e) { 58 UiPlugin.getDefault().showError("Could not logout from the repository.",e); 59 } 60 } 61 } 62 } 63 64 public void selectionChanged(IAction action, ISelection selection) { 65 } 67 68 } 69 | Popular Tags |