/******************************************************************************* * =========================================================== * Ankush : Big Data Cluster Management Solution * =========================================================== * * (C) Copyright 2014, by Impetus Technologies * * This is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License (LGPL v3) as * published by the Free Software Foundation; * * This software is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this software; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ******************************************************************************/ package com.impetus.ankush.common.controller.view; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; import com.impetus.ankush.common.domain.User; /** * The Class AnkushDashboardController. */ @Controller @RequestMapping("/dashboard") public class AnkushDashboardController extends AbstractController { /** The Constant logger. */ private static final Logger logger = LoggerFactory .getLogger(AnkushDashboardController.class); /** The css files. */ private ArrayList<String> cssFiles; /** The js files. */ private ArrayList<String> jsFiles; /** * Instantiates a new ankush dashboard controller. */ public AnkushDashboardController() { // TODO Auto-generated constructor stub cssFiles = new ArrayList<String>(); jsFiles = new ArrayList<String>(); } /** * home view to render by returning its name. * * @param model the model * @return the string */ @RequestMapping(value = "", method = RequestMethod.GET) public String home(ModelMap model) { model.addAttribute("title", "dashboard"); model.addAttribute("cssFiles", cssFiles); model.addAttribute("jsFiles", jsFiles); model.addAttribute("page", "Cluster Overview"); return "dashboard/home"; } @RequestMapping(value = "/clusterMaintenance", method = RequestMethod.GET) public String clusterMaintenance(ModelMap model) { model.addAttribute("title", "clusterMaintenance"); return "dashboard/clusterMaintenance"; } @RequestMapping(value = "/nodeMaintenance", method = RequestMethod.GET) public String nodeMaintenance(ModelMap model,@RequestParam("clusterId") String clusterId,@RequestParam("host") String host) { model.addAttribute("title", "nodeMaintenance"); model.addAttribute("clusterId", clusterId); model.addAttribute("host", host); return "dashboard/nodeMaintenance"; } /* (non-Javadoc) * @see org.springframework.web.servlet.mvc.AbstractController#handleRequestInternal(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub return null; } @RequestMapping(value="/changePassword/C-D/{decisionVar}",method= RequestMethod.GET) public String getUpdatePassword(ModelMap model,@PathVariable("decisionVar") String decisionVar){ model.addAttribute("decisionVar", decisionVar); model.addAttribute("page", "changePassword"); return "changePassword"; } @RequestMapping(value = "/listTemplate", method = RequestMethod.GET) public String templateList(ModelMap model) { logger.info("Inside template management view"); model.addAttribute("cssFiles", cssFiles); model.addAttribute("jsFiles", jsFiles); model.addAttribute("title", "Template Management"); return "templateManage"; } @RequestMapping(value = "/configuration/C-D/{decisionVar}", method = RequestMethod.GET) public String getConfigPage( ModelMap model, HttpServletRequest request,@PathVariable("decisionVar") String decisionVar) { logger.info("Received Request to show COnfiguration page"); jsFiles = new ArrayList<String>(); jsFiles.add("configurationNew"); model.addAttribute("jsFiles", jsFiles); model.addAttribute("decisionVar", decisionVar); model.addAttribute("page", "configuration"); return "/afterLoginConfigPage"; } /** * Gets the user name. * * @return the userName */ public String getUserName() { try { SecurityContextHolder .setContext(SecurityContextHolder.getContext()); User user = (User) SecurityContextHolder.getContext() .getAuthentication().getPrincipal(); return user.getUsername(); } catch (Exception e) { e.printStackTrace(); } return "UNKNOWN"; } /** * Gets the update password. * * @param model the model * @return the update password */ }