1 Reply Latest reply on Jul 23, 2008 11:56 AM by Seema Gupta

    Portlet rendering through servlet

    Seema Gupta Newbie

      Hello There

      Thomas, Julian,

      I've a business requirement of rendering a portlet from a Servlet. There won't be JSPs with:

      <xportal:portlet> etc.

      Instead, servlet would need to read and render the portlet deployed in the "webapps" directory.

      Below is some code that I'm playing with.

       QName name = new QName("urn:jboss:portal:simple:google", "zipcode");
       boolean frozen = true;
       PageParameterDef parameterDef = new PageParameterDef(name, "94939", frozen);
       Map<QName, PageParameterDef> paramDefs;
       paramDefs = new HashMap<QName, PageParameterDef>();
       paramDefs.put(name, parameterDef);
       int size = paramDefs.size();
       out.write("The size is::::: " + size);
       Mode initialMode = Mode.VIEW;
       final Set<Mode> DEFAULT_MODES = Collections.unmodifiableSet(Tools.toSet(Mode.VIEW, Mode.EDIT, Mode.HELP));
       final Set<WindowState> DEFAULT_WINDOW_STATES = Collections.unmodifiableSet(Tools.toSet(WindowState.NORMAL, WindowState.MAXIMIZED, WindowState.MINIMIZED));
       WindowDef windowDef = new WindowDef("PagePortlet", "2-PagePortlet", "1", initialMode, DEFAULT_MODES, DEFAULT_WINDOW_STATES);
       Map<String, WindowDef> windowDefs;
       windowDefs = new HashMap<String, WindowDef>();
       paramDefs = new HashMap<QName, PageParameterDef>();
       windowDefs.put("1", windowDef);
       WindowState ws = WindowState.MAXIMIZED;
       WindowDef windowDefNew = windowDefs.get("1");
       try {
       application = getServletContext();
       out.write("application::: " + application.toString());
       out.write("windowDef " + windowDefs);
       out.write("windowDefNew.getApplicationName(): " + windowDefNew.getApplicationName());
       } catch (Throwable t) {

      The output i'm getting in the browser is:
      The size is::::: 1 application::: org.apache.catalina.core.ApplicationContextFacade@1083717 windowDef {1=org.jboss.portal.portlet.portal.jsp.WindowDef@58cca9} windowDefNew.getApplicationName(): 2-PagePortlet

      I tried to figure out the rendering logic from the "sources" but couldnt find the appropriate classes. Can anybody please guide me in a right direction so that I can render the portlet window through servlet?

      Is it possible to get an architectural diagram of all the classes involved and their relationship with each other?

      Thank you in advance.