/**
* Copyright 2014 David L. Whitehurst
*
* Licensed under the Apache License, Version 2.0
* (the "License"); You may not use this file except
* in compliance with the License. You may obtain a
* copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the
* License.
*
*/
package org.musicrecital.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.musicrecital.model.User;
import org.musicrecital.webapp.pages.Home;
import java.util.Set;
/**
* Lists all active users
*
* @author Serge Eby
* @version $Id: c2ba77525c41ec31a956142bed0efcb156bfe7a2 $
*/
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();
}
}