package cn.me.fdfs.action; import cn.me.fdfs.service.MonitorService; import cn.me.fdfs.vo.Group; import cn.me.fdfs.vo.Line; import com.jcraft.jsch.JSchException; import org.csource.common.MyException; 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.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.context.ServletContextAware; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import javax.servlet.ServletContext; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List; /** * Created with IntelliJ IDEA. User: devuser Date: 12-8-20 Time: 下午8:57 To * change this template use File | Settings | File Templates. */ @Controller @RequestMapping("/monitor") public class MonitorAction implements ServletContextAware { private ServletContext servletContext; public void setServletContext(ServletContext servletContext) { // 实现接口中的setServletContext方法 this.servletContext = servletContext; } @Autowired private MonitorService monitorService; @RequestMapping("/capacity") public ModelAndView capacity() throws IOException, MyException,JSchException { ModelAndView mv = new ModelAndView("monitor/capacity.jsp"); mv.addObject("groupInfo", monitorService.listGroupInfo()); return mv; } @ResponseBody @RequestMapping("/listGroupInfo") public List<Group> listStorageInfo() throws IOException, MyException,JSchException { return monitorService.listGroupInfo(); } @RequestMapping("/netTraffic") public ModelAndView netTraffic() throws IOException, MyException,JSchException { ModelAndView mv = new ModelAndView("monitor/netTraffic.jsp"); mv.addObject("groupInfo", monitorService.listGroupInfo()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); Calendar calendar = Calendar.getInstance(); mv.addObject("end", sdf.format(calendar.getTime())); calendar.add(Calendar.HOUR, -1); mv.addObject("start", sdf.format(calendar.getTime())); return mv; } @RequestMapping("/performance") public ModelAndView performance() throws IOException, MyException,JSchException { ModelAndView mv = new ModelAndView("monitor/performance.jsp"); List<Group> groups = monitorService.listGroupInfo(); mv.addObject("groups", groups); return mv; } @ResponseBody @RequestMapping("/getPerformanceLine") public List<Line> getPerformanceLine(String groupName) throws IOException, MyException { return monitorService.listStorageLines(groupName); } @ResponseBody @RequestMapping("/getNetTrafficLine") public List<Line> getNetTrafficLine(String ip, String start, String end) throws IOException, MyException { return monitorService.getNetTrafficLines(ip, start, end); } @ResponseBody @RequestMapping("/capactityStorage") public List<Line> capactityStorage(String ip, String startTime, String endTime) throws IOException, MyException { System.out.println(ip); List<Line> result = new ArrayList<Line>(); result.add(monitorService.getListStoragesInfo(ip, startTime, endTime)); return result; } @RequestMapping("/storageInfo") public ModelAndView storageInfo(String ip) throws IOException, MyException { ModelAndView mv = new ModelAndView("monitor/storageInfo.jsp"); mv.addObject("storage", monitorService.getStorageByIp(ip)); return mv; } @ResponseBody @RequestMapping("/fileCountStorage") public List<Line> fileCountStorage(String ip, String startTime, String endTime) throws IOException, MyException { List<Line> result = new ArrayList<Line>(); result = monitorService.getListFileCountStorage(ip, startTime, endTime); return result; } @RequestMapping("/testUpload") public ModelAndView testUpload() throws IOException, MyException { ModelAndView mv = new ModelAndView("monitor/testUpload.jsp"); return mv; } @RequestMapping(value = "/oneFileUpload", method = RequestMethod.POST) public ModelAndView handleFormUpload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file) throws IOException, MyException { ModelAndView mv = new ModelAndView("main/index.jsp"); System.out.println("name:" + name); System.out.println("上传文件:" + file.getOriginalFilename()); String f = null; return mv; } }