/******************************************************************************* * =========================================================== * 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.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.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; /** * @author anzar.abbas * */ @Controller @RequestMapping("/common-cluster") public class AnkushCommonController extends AbstractController { private static final Logger logger = LoggerFactory .getLogger(AnkushCommonController.class); private ArrayList<String> cssFiles; private ArrayList<String> jsFiles; public AnkushCommonController() { // TODO Auto-generated constructor stub cssFiles = new ArrayList<String>(); jsFiles = new ArrayList<String>(); } /** * return deployment logs view of a cluster * * @param model * @param clusterId * @param clusterTechnology * @return */ @RequestMapping(value = "/{clusterName}/C-D/{clusterId}/{clusterTechnology}", method = RequestMethod.GET) public String deploymentProgress(ModelMap model, @PathVariable("clusterId") String clusterId, @PathVariable("clusterName") String clusterName, @PathVariable("clusterTechnology") String clusterTechnology) { logger.info("Inside deploymentProgress view"); model.addAttribute("title", "oNodeDetail"); model.addAttribute("clusterId", clusterId); model.addAttribute("clusterName", clusterName); model.addAttribute("clusterTechnology", clusterTechnology); jsFiles.removeAll(jsFiles); jsFiles.add("ankush"); jsFiles.add("ankush.common"); jsFiles.add("ankush.constants"); jsFiles.add("ErrorMessage"); jsFiles.add("tooltip/commonClusterCreationTooltip"); jsFiles.add("ankush.validation"); model.addAttribute("jsFiles", jsFiles); return "common/deploymentLogs"; } /** * return node status table view * * @param model * @return */ @RequestMapping(value = "/{clusterName}/deploymentLogs/C-D/{clusterId}/{clusterTechnology}", method = RequestMethod.GET) public String deploymentLogs(ModelMap model, @PathVariable("clusterId") String clusterId, @PathVariable("clusterName") String clusterName, @PathVariable("clusterTechnology") String clusterTechnology) { logger.info("Inside deploymentLogs view"); model.addAttribute("clusterId", clusterId); model.addAttribute("clusterName", clusterName); model.addAttribute("clusterTechnology", clusterTechnology); jsFiles = new ArrayList<String>(); jsFiles.add("ankush.common"); model.addAttribute("jsFiles", jsFiles); model.addAttribute("title", "oNodeDetail"); return "common/nodeStatus"; } /** * return node level logs view * * @param model * @param clusterId * @return */ @RequestMapping(value = "/{clusterName}/nodeDeploymentLog/C-D/{clusterId}/{clusterTechnology}/{hostName:.+}", method = RequestMethod.GET) public String nodeStatusNode(ModelMap model, @PathVariable("clusterId") String clusterId, @PathVariable("clusterName") String clusterName, @PathVariable("clusterTechnology") String clusterTechnology, @PathVariable("hostName") String hostName) { logger.info("Inside nodeStatusNode view"); jsFiles = new ArrayList<String>(); jsFiles.add("ankush.common"); model.addAttribute("title", "nodeStatusNode"); model.addAttribute("clusterId", clusterId); model.addAttribute("clusterName", clusterName); model.addAttribute("clusterTechnology", clusterTechnology); model.addAttribute("hostName", hostName); model.addAttribute("jsFiles", jsFiles); return "common/nodeDeploymentLogs"; } @RequestMapping(value = "/{clusterName}/C-D/deleteCluster/{clusterId}/{clusterTechnology}", method = RequestMethod.GET) public String deleteCluster(ModelMap model, @PathVariable("clusterName") String clusterName, @PathVariable("clusterTechnology") String clusterTechnology, @PathVariable("clusterId") String clusterId) { logger.info("Inside deleteCluster view"); model.addAttribute("clusterId", clusterId); jsFiles = new ArrayList<String>(); jsFiles.add("ankush.common"); model.addAttribute("clusterId", clusterId); model.addAttribute("clusterName", clusterName); model.addAttribute("clusterTechnology", clusterTechnology); model.addAttribute("jsFiles", jsFiles); model.addAttribute("title", "deleteCluster"); return "common/deleteClusterLog"; } /* * (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; } }