Package org.hoteia.qalingo.web.mvc.controller.cache

Source Code of org.hoteia.qalingo.web.mvc.controller.cache.CacheController

/**
* Most of the code in the Qalingo project is copyrighted Hoteia and licensed
* under the Apache License Version 2.0 (release version 0.8.0)
*         http://www.apache.org/licenses/LICENSE-2.0
*
*                   Copyright (c) Hoteia, 2012-2014
* http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com
*
*/
package org.hoteia.qalingo.web.mvc.controller.cache;

import java.io.PrintWriter;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import org.hoteia.qalingo.core.RequestConstants;
import org.hoteia.qalingo.core.domain.ServerStatus;
import org.hoteia.qalingo.core.domain.enumtype.BoUrls;
import org.hoteia.qalingo.core.service.ServerService;
import org.hoteia.qalingo.core.web.servlet.ModelAndViewThemeDevice;
import org.hoteia.qalingo.web.mvc.controller.AbstractTechnicalBackofficeController;



/**
*
*/
@Controller("cacheController")
public class CacheController extends AbstractTechnicalBackofficeController {

    @Autowired
    protected ServerService serverService;
   
  @RequestMapping(value = BoUrls.CACHE_URL, method = RequestMethod.GET)
  public ModelAndView cache(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
    ModelAndViewThemeDevice modelAndView = new ModelAndViewThemeDevice(getCurrentVelocityPath(request), BoUrls.CACHE.getVelocityPage());
    List<ServerStatus> severList = serverService.findServerList();
    modelAndView.addObject("severList", severList);
   
        return modelAndView;
  }
  @RequestMapping(value = "/flushCache.html", method = RequestMethod.POST)
  public ModelAndView flushCache(final HttpServletRequest request, final HttpServletResponse response) throws Exception {
    ModelAndViewThemeDevice modelAndView = new ModelAndViewThemeDevice(getCurrentVelocityPath(request), BoUrls.CACHE.getVelocityPage());
    String flag = request.getParameter(RequestConstants.REQUEST_PARAMETER_FLAG);

    String responseString = "";
    try{
    if(FLUSH_SCOPE.equals(flag)){
    //flush all of servers,all of caches and send JMS
    }
    if("FLUSH_SCOPE_ALLSERVER".equals(flag)){
    //flush all of server which include specify cache
      String serverName = request.getParameter(RequestConstants.REQUEST_PARAMETER_SERVERNAME);
     
      String cacheName = request.getParameter(RequestConstants.REQUEST_PARAMETER_CACHE_NAME);
    }
   
    //flush specify server and send JMS
    if(FLUSH_SCOPE_SINGLE.equals(flag)){
      String serverName = request.getParameter(RequestConstants.REQUEST_PARAMETER_SERVERNAME);
     
      String cacheName = request.getParameter(RequestConstants.REQUEST_PARAMETER_CACHE_NAME);
    }}catch(Exception e){
      responseString = e.getMessage();
    }finally{
      responseString = RESULT_SUCCESS;
    }
   
   
        //return modelAndView;
    PrintWriter out = response.getWriter();
    out.print(responseString);
    out.close();
    response.flushBuffer()
   
        return null;
  }
  private String RESULT_SUCCESS = "SUCCESS";
  private String FLUSH_SCOPE ="ALL";//all of servers and all of caches
  private String FLUSH_SCOPE_ALLSERVER ="ALLSERVER";// specified cache in all of servers
  private String FLUSH_SCOPE_SINGLE ="SINGLE";// specified cache in single server

}
TOP

Related Classes of org.hoteia.qalingo.web.mvc.controller.cache.CacheController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.