1 5 6 package org.exoplatform.portlets.nav.component; 7 8 import java.util.ResourceBundle ; 9 import javax.faces.context.ExternalContext; 10 import javax.portlet.ActionResponse; 11 import org.exoplatform.container.SessionContainer; 12 import org.exoplatform.faces.core.event.ExoActionEvent; 13 import org.exoplatform.faces.core.event.ExoActionListener; 14 import org.exoplatform.portal.session.RequestInfo; 15 import org.exoplatform.services.portletcontainer.pci.Output; 16 21 public class UIFirstLevelMenu extends UINavigation { 22 public static final String LOGOUT_ACTION = "logout"; 23 private String logoutPath_; 24 25 public UIFirstLevelMenu(ResourceBundle res) throws Exception { 26 super(res) ; 27 setId("uiFirstLevelMenu"); 28 setRendererType("FirstLevelMenuRenderer"); 29 RequestInfo rinfo = (RequestInfo)SessionContainer.getComponent(RequestInfo.class); 30 logoutPath_ = rinfo.getContextPath() ; 31 addActionListener(LogoutActionListener.class , LOGOUT_ACTION) ; 32 } 33 34 public String getFamily( ) { return "org.exoplatform.portlets.nav.component.UIFirstLevelMenu" ; } 35 36 static public class LogoutActionListener extends ExoActionListener { 37 public void execute(ExoActionEvent event) throws Exception { 38 UIFirstLevelMenu comp = (UIFirstLevelMenu) event.getComponent() ; 39 ExternalContext eContext = comp.getFacesContext().getExternalContext(); 40 ActionResponse response = (ActionResponse) eContext.getResponse(); 41 response.addProperty(Output.LOGOUT, "true"); 42 response.sendRedirect(comp.logoutPath_); 43 } 44 } 45 } 46 | Popular Tags |