View Javadoc

1   package org.appfuse.webapp.pages.admin;
2   
3   import org.apache.tapestry5.annotations.Property;
4   import org.apache.tapestry5.beaneditor.BeanModel;
5   import org.apache.tapestry5.ioc.Messages;
6   import org.apache.tapestry5.ioc.annotations.Inject;
7   import org.apache.tapestry5.services.BeanModelSource;
8   import org.apache.tapestry5.services.Context;
9   import org.apache.tapestry5.services.PageRenderLinkSource;
10  import org.appfuse.model.User;
11  import org.appfuse.webapp.pages.Home;
12  
13  import java.util.Set;
14  
15  /**
16   * Lists all active users
17   *
18   * @author Serge Eby
19   * @version $Id: ActiveUsers.java 5 2008-08-30 09:59:21Z serge.eby $
20   */
21  public class ActiveUsers {
22  
23      @Inject
24      private Messages messages;
25  
26      @Property
27      private User currentUser;
28  
29      @Inject
30      private BeanModelSource beanModelSource;
31  
32      @Inject
33      private PageRenderLinkSource pageRenderLinkSource;
34  
35      @Inject
36      private Context context;
37  
38  
39      public BeanModel<User> getModel() {
40          final BeanModel<User> model = beanModelSource.createDisplayModel(User.class, messages);
41          model.include("username");
42          model.add("fullname");
43          // Set labels
44          model.get("username").label(messages.get("user.username"));
45          model.get("fullname").label(messages.get("activeUsers.fullName"));
46  
47          return model;
48      }
49  
50      @SuppressWarnings("unchecked")
51      public Set<User> getActiveUsers() {
52          return (Set<User>) context.getAttribute("userNames");
53      }
54  
55      public String getMainMenuLink() {
56          return pageRenderLinkSource.createPageRenderLink(Home.class).toURI();
57      }
58  }