1 20 package org.openi.web.controller.menu; 21 22 import org.apache.log4j.Logger; 23 import org.openi.application.Application; 24 import org.openi.menu.Menu; 25 import org.openi.project.ProjectContext; 26 import org.openi.util.Util; 27 import org.openi.xml.BeanStorage; 28 import org.openi.xml.XMLTransformer; 29 import org.springframework.web.servlet.ModelAndView; 30 import org.springframework.web.servlet.mvc.AbstractController; 31 import java.util.*; 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import javax.servlet.http.HttpSession ; 35 36 37 50 public class TreeNavigationController extends AbstractController { 51 private static Logger logger = Logger.getLogger(TreeNavigationController.class); 52 private String xslFileName; 53 54 63 public ModelAndView handleRequestInternal(HttpServletRequest request, 64 HttpServletResponse response) throws Exception { 65 String view = null; 66 String xmlMenu = null; 67 String xslMenu = null; 68 String htmlMenu = null; 69 String poweredByLogoName = null; 70 String logoUrl = null; 71 String showPropertiesTab = "false"; 72 Map model = new HashMap(); 73 74 try { 75 xslMenu = Util.getFileContents(this.getServletContext() 76 .getRealPath(xslFileName)); 77 78 HttpSession session = request.getSession(); 79 80 if ("true".equalsIgnoreCase( 85 (String ) request.getAttribute("analysisPage")) 86 && (request.getAttribute("javax.servlet.jsp.jspException") == null) 87 && (request.getAttribute("exception") == null)) { 88 view = "treeNavigationAnalysisView"; 89 logger.debug("view:treeNavigationAnalysisView"); 90 } else { 91 view = "treeNavigationView"; 92 logger.debug("view: treeNavigationView"); 93 } 94 95 ProjectContext projectContext = (ProjectContext) session 97 .getAttribute("projectContext"); 98 Menu root = projectContext.buildMenu(); 99 100 BeanStorage store = new BeanStorage(); 101 102 xmlMenu = store.toXmlString(root); 103 104 htmlMenu = XMLTransformer.transform(xslMenu, xmlMenu); 106 107 model.put("htmlMenu", htmlMenu); 108 109 poweredByLogoName = Application.getInstance() 111 .getPoweredByLogoName(); 112 113 model.put("poweredByLogoName", poweredByLogoName); 114 115 logoUrl = request.getContextPath() + "-projects/" 117 + projectContext.getProject().getProjectId() + "/" 118 + projectContext.getProject().getLogoUrl(); 119 120 model.put("logoUrl", logoUrl); 121 122 126 if ((request.getParameter("toolbar01.printPropertiesButton01.x") != null) 127 || (request.getParameter( 128 "toolbar01.chartPropertiesButton01.x") != null) 129 || (request.getParameter("toolbar01.mdxEditButton.x") != null) 130 || (request.getParameter("toolbar01.sortConfigButton.x") != null) 131 || (request.getParameter("toolbar01.sqlEditButton.x") != null)) { 132 model.put("showPropertiesTab", Boolean.TRUE); 133 } 134 } catch (Exception e) { 135 logger.error("Exception:", e); 136 137 } 140 141 return new ModelAndView(view, "model", model); 142 } 143 144 public void setXslFileName(String xslFileName) { 145 this.xslFileName = xslFileName; 146 } 147 148 public String getXslFileName() { 149 return xslFileName; 150 } 151 } 152 | Popular Tags |