package jdepend.webserver.web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import jdepend.framework.exception.JDependException;
import jdepend.util.todolist.TODOItem;
import jdepend.webserver.model.WebAnalysisResult;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping(value = "result")
public class ResultController {
@RequestMapping(value = "/component/{componentId}/classes/view.ajax", method = RequestMethod.GET)
public String componentDetails(Model model, @PathVariable String componentId, HttpServletRequest request)
throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("classes", result.getTheComponent(componentId).getClasses());
return "class_list";
}
@RequestMapping(value = "/component/{componentId}/ca/view.ajax", method = RequestMethod.GET)
public String componentCa(Model model, @PathVariable String componentId, HttpServletRequest request)
throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("components", result.getTheComponent(componentId).getAfferents());
return "component_list";
}
@RequestMapping(value = "/component/{componentId}/ce/view.ajax", method = RequestMethod.GET)
public String componentCe(Model model, @PathVariable String componentId, HttpServletRequest request)
throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("components", result.getTheComponent(componentId).getEfferents());
return "component_list";
}
@RequestMapping(value = "/methods/{javaClassId}/view.ajax", method = RequestMethod.GET)
public String methodlist(Model model, @PathVariable String javaClassId, HttpServletRequest request)
throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("methods", result.getTheClass(javaClassId).getJavaClass().getMethods());
return "method_list";
}
@RequestMapping(value = "/invokedItems/{javaClassId}/{methodInfo}/view.ajax", method = RequestMethod.GET)
public String invokedItemList(Model model, @PathVariable String javaClassId, @PathVariable String methodInfo,
HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("invokeitems", result.getTheClass(javaClassId).getJavaClass().getTheMethod(methodInfo)
.getInvokedItems());
return "invokeitem_list";
}
@RequestMapping(value = "/cascadeInvokedItems/{javaClassId}/{methodInfo}/view.ajax", method = RequestMethod.GET)
public String cascadeInvokedItemList(Model model, @PathVariable String javaClassId,
@PathVariable String methodInfo, HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("invokeitems", result.getTheClass(javaClassId).getJavaClass().getTheMethod(methodInfo)
.getCascadeInvokedItems());
return "invokeitem_list";
}
@RequestMapping(value = "/invokeItems/{javaClassId}/{methodInfo}/view.ajax", method = RequestMethod.GET)
public String invokeItemList(Model model, @PathVariable String javaClassId, @PathVariable String methodInfo,
HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("invokeitems", result.getTheClass(javaClassId).getJavaClass().getTheMethod(methodInfo)
.getInvokeItems());
return "invokeitem_list";
}
@RequestMapping(value = "/classes/view.ajax", method = RequestMethod.GET)
public String classeslist(Model model, HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("classes", result.getClasses());
return "class_list";
}
@RequestMapping(value = "/methods/view.ajax", method = RequestMethod.GET)
public String methodslist(Model model, HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("methods", result.getMethods());
return "method_list";
}
@RequestMapping(value = "/relation/{current}/{depend}/view.ajax", method = RequestMethod.GET)
public String relationDetails(Model model, @PathVariable String current, @PathVariable String depend,
HttpServletRequest request) throws JDependException {
WebAnalysisResult result = (WebAnalysisResult) request.getSession().getAttribute(WebConstants.SESSION_RESULT);
if (result == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
model.addAttribute("relation", result.getTheRelation(current, depend));
return "relation_details";
}
@RequestMapping(value = "/todoItem/{id}/view.ajax", method = RequestMethod.GET)
public String todoItemDetails(Model model, @PathVariable String id, HttpServletRequest request)
throws JDependException {
List<TODOItem> todoList = (List<TODOItem>) request.getSession().getAttribute(
WebConstants.SESSION_RESULT_TODOLIST);
if (todoList == null) {
throw new JDependException("Session 过期,或者非法进入该页。");
}
for (TODOItem item : todoList) {
if (item.getId().equals(id)) {
model.addAttribute("todoItem", item);
}
}
return "todo_item";
}
}