1 package org.apache.portals.applications.springmvc; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.List; 6 import java.util.ArrayList; 7 import java.util.SortedSet; 8 9 import javax.portlet.RenderRequest; 10 import javax.portlet.RenderResponse; 11 import javax.portlet.PortletConfig; 12 13 import org.apache.commons.logging.Log; 14 import org.apache.commons.logging.LogFactory; 15 import org.springframework.beans.factory.InitializingBean; 16 import org.springframework.web.portlet.mvc.AbstractController; 17 import org.springframework.web.portlet.ModelAndView; 18 import org.springframework.web.portlet.context.PortletConfigAware; 19 20 public class DOMTreeViewController extends AbstractController implements InitializingBean, PortletConfigAware 21 { 22 private static final Log log = LogFactory.getLog( DOMTreeViewController.class); 23 24 private DOMTreeService domTreeService ; 25 private PortletConfig portletConfig ; 26 27 private String xmlFilePath = null ; 28 private String xmlFileName = null ; 29 30 public void afterPropertiesSet() throws Exception { 31 if (this.domTreeService == null) 32 throw new IllegalArgumentException("A DOMTreeService is required"); 33 } 34 35 public ModelAndView handleRenderRequestInternal(RenderRequest request, RenderResponse response) throws Exception 36 { 37 List addTo = new ArrayList(); 38 if ( getXmlFilePath() != null ) 39 { 40 addTo.add( new DOMTree( getXmlFileName(), getXmlFilePath() ) ); 41 } 42 SortedSet domTreeSet = domTreeService.parseAllDOMTrees( request, this.getPortletContext(), addTo ); 43 44 Map model = new HashMap(); 45 model.put( "messages", portletConfig.getResourceBundle( request.getLocale() ) ); 46 model.put( "domTreeList", domTreeSet ); 47 model.put( "domNodeHelper", new DOMTreeService.DOMNodeHelper() ); 48 49 return new ModelAndView("domTreeView", "model", model); 50 } 51 52 public void setDomTreeService(DOMTreeService domTreeService) 53 { 54 this.domTreeService = domTreeService; 55 } 56 57 public String getXmlFilePath() 58 { 59 return this.xmlFilePath ; 60 } 61 public void setXmlFilePath(String xmlFile) 62 { 63 this.xmlFilePath = xmlFile; 64 } 65 public String getXmlFileName() 66 { 67 return this.xmlFileName; 68 } 69 public void setXmlFileName(String xmlFileName) 70 { 71 this.xmlFileName = xmlFileName; 72 } 73 public void setPortletConfig(PortletConfig portletConfig) 74 { 75 76 this.portletConfig = portletConfig; 77 } 78 }