1 23 package org.infoglue.deliver.portal; 24 25 import javax.naming.NameNotFoundException ; 26 import javax.portlet.PortletException; 27 import javax.servlet.http.HttpServletRequest ; 28 import javax.servlet.http.HttpServletResponse ; 29 30 import org.apache.commons.logging.Log; 31 import org.apache.commons.logging.LogFactory; 32 import org.apache.pluto.PortletContainerException; 33 import org.apache.pluto.om.window.PortletWindow; 34 import org.apache.pluto.portalImpl.services.ServiceManager; 35 import org.infoglue.deliver.portal.services.PortletWindowRegistryService; 36 37 42 public class PortalController { 43 public static final String NAME = "portalLogic"; 44 45 private static final Log log = LogFactory.getLog(PortalController.class); 46 47 private HttpServletRequest request; 48 49 private HttpServletResponse response; 50 51 public PortalController(HttpServletRequest request, HttpServletResponse response) { 52 this.request = request; 53 this.response = response; 54 } 55 56 69 public String renderFragment(String portletID, String windowID) throws NameNotFoundException , PortalException 70 { 71 PortletWindowIG window = getPortletWindow(portletID, windowID); 72 73 return window.render(); 74 } 75 76 92 public PortletWindowIG getPortletWindow(String portletID, String windowID) throws NameNotFoundException , PortalException 93 { 94 try 95 { 96 PortletWindowRegistryService windowService = (PortletWindowRegistryService) ServiceManager.getService(PortletWindowRegistryService.class); 97 PortletWindow renderWindow = windowService.createPortletWindow(windowID, portletID); 98 log.info("Portlet window of " + portletID + "," + windowID + ": " + renderWindow); 99 return new PortletWindowIGImpl(renderWindow, request, response); 100 } 101 catch (PortletException e) 102 { 103 log.error("", e); 104 throw new PortalException(e); 105 } 106 catch (PortletContainerException e) 107 { 108 log.error("", e); 109 throw new PortalException(e); 110 } 111 catch (Throwable e) 112 { 113 log.error("", e); 114 throw new PortalException(e); 115 } 116 } 117 } | Popular Tags |