package flapjack.controller;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.server.mvc.Viewable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.yammer.metrics.annotation.Timed;
import flapjack.auth.Auth;
import flapjack.auth.Role;
/**
* Controller for the home page
*
* @author Ray Vanderborght
*/
@Path("/")
public class HomeController {
@SuppressWarnings("unused")
private static final Logger log = LoggerFactory.getLogger(HomeController.class);
/**
* Get the main home page
*/
@GET
@Produces(MediaType.TEXT_HTML)
@Auth @Timed
public Viewable home(@Context HttpServletRequest request) {
Map<String, String> model = new HashMap<String, String>();
if (request.getAttribute("mvp.person.email") != null) {
model.put("person", (String) request.getAttribute("mvp.person.email"));
}
return new Viewable("/home.html", model);
}
@GET @Path("/metrics")
@Produces(MediaType.TEXT_HTML)
@Auth(requiresRole=Role.ADMIN) @Timed
public Viewable metrics(@Context HttpServletRequest request) {
Map<String, String> model = new HashMap<String, String>();
return new Viewable("/metrics.html", model);
}
}