package org.appfuse.webapp.pages.admin; import org.apache.tapestry5.annotations.Property; import org.apache.tapestry5.beaneditor.BeanModel; import org.apache.tapestry5.ioc.Messages; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.BeanModelSource; import org.apache.tapestry5.services.Context; import org.apache.tapestry5.services.PageRenderLinkSource; import org.appfuse.model.User; import org.appfuse.webapp.pages.Home; import java.util.Set; /** * Lists all active users * * @author Serge Eby * @version $Id: ActiveUsers.java 5 2008-08-30 09:59:21Z serge.eby $ */ public class ActiveUsers { @Inject private Messages messages; @Property private User currentUser; @Inject private BeanModelSource beanModelSource; @Inject private PageRenderLinkSource pageRenderLinkSource; @Inject private Context context; public BeanModel<User> getModel() { final BeanModel<User> model = beanModelSource.createDisplayModel(User.class, messages); model.include("username"); model.add("fullname"); // Set labels model.get("username").label(messages.get("user.username")); model.get("fullname").label(messages.get("activeUsers.fullName")); return model; } @SuppressWarnings("unchecked") public Set<User> getActiveUsers() { return (Set<User>) context.getAttribute("userNames"); } public String getHomeLink() { return pageRenderLinkSource.createPageRenderLink(Home.class).toURI(); } }