1 package org.gnomekr.potron.web.view;
2
3 import javax.faces.context.FacesContext;
4 import javax.faces.el.VariableResolver;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 import net.sf.acegisecurity.Authentication;
10 import net.sf.acegisecurity.context.security.SecureContext;
11 import net.sf.acegisecurity.context.security.SecureContextUtils;
12 import net.sf.acegisecurity.providers.dao.User;
13
14 /***
15 * AbstractFacesView.java
16 * @author Xavier Cho
17 * @version $Revision 1.1 $ $Date: 2005/07/17 08:08:32 $
18 */
19 public abstract class AbstractFacesView {
20
21 private static final String TREE_BEAN_NAME = "navigation";
22
23 private static Log log = LogFactory.getLog(AbstractFacesView.class);
24
25 protected String getCurrentUserName() {
26 SecureContext context = SecureContextUtils.getSecureContext();
27 Authentication auth = context.getAuthentication();
28
29 String userName = null;
30 User user = (User) auth.getPrincipal();
31
32 if (user != null) {
33 userName = user.getUsername();
34 }
35
36 return userName;
37 }
38
39 void refreshNavigationTree() {
40 if (log.isDebugEnabled()) {
41 log.debug("Refreshing navigation tree menu.");
42 }
43
44 FacesContext context = FacesContext.getCurrentInstance();
45 VariableResolver resolver = context.getApplication()
46 .getVariableResolver();
47 NavigationTreeView tree = (NavigationTreeView) resolver
48 .resolveVariable(context, TREE_BEAN_NAME);
49 tree.refresh();
50 }
51 }