[jboss-svn-commits] JBL Code SVN: r18947 - in labs/jbossforums/branches/forums110P26/forums/src: resources/portal-forums-war/WEB-INF and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Mar 13 17:44:45 EDT 2008
Author: unibrew
Date: 2008-03-13 17:44:45 -0400 (Thu, 13 Mar 2008)
New Revision: 18947
Added:
labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsPortletExternalContextImpl.java
Modified:
labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
labs/jbossforums/branches/forums110P26/forums/src/resources/portal-forums-war/WEB-INF/web.xml
Log:
[JBFORUMS-257] Rendered views have now acceptable size after render.
Modified: labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
===================================================================
--- labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java 2008-03-13 21:44:01 UTC (rev 18946)
+++ labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java 2008-03-13 21:44:45 UTC (rev 18947)
@@ -24,6 +24,7 @@
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.portlet.PortletFileUpload;
+import org.apache.log4j.Logger;
import java.io.IOException;
import java.lang.reflect.Field;
@@ -37,13 +38,19 @@
// JSF
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
+import javax.faces.context.ExternalContext;
//myfaces
import org.apache.myfaces.portlet.MyFacesGenericPortlet;
+import org.apache.myfaces.config.FacesConfigurator;
+import org.apache.myfaces.context.ReleaseableExternalContext;
+import org.apache.myfaces.webapp.webxml.WebXml;
//portlet api
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.PortletException;
@@ -65,6 +72,8 @@
*/
public class ForumsJSFPortlet extends MyFacesGenericPortlet
{
+
+ private static Logger log = Logger.getLogger(ForumsJSFPortlet.class);
/**
* PortletRequest parameter for JBoss Forums Portlet for replacing
@@ -235,6 +244,45 @@
}
+ protected void initMyFaces()
+ {
+ try
+ {
+ Boolean b = (Boolean)portletContext.getAttribute(FACES_INIT_DONE);
+
+ if (b == null || b.booleanValue() == false)
+ {
+ log.info("Initializing MyFaces");
+ //Load the configuration
+ ExternalContext externalContext = new ForumsPortletExternalContextImpl(portletContext, null, null);
+
+ //And configure everything
+ new FacesConfigurator(externalContext).configure();
+
+ // parse web.xml - not sure if this is needed for portlet
+ WebXml.init(externalContext);
+
+ portletContext.setAttribute(FACES_INIT_DONE, Boolean.TRUE);
+ }
+ else
+ {
+ log.info("MyFaces already initialized");
+ }
+ }
+ catch (Exception ex)
+ {
+ log.error("Error initializing MyFacesGenericPortlet", ex);
+ JSFUtil.handleException(ex);
+ }
+
+ log.info("PortletContext '" + portletContext.getRealPath("/") + "' initialized.");
+ }
+
+ protected ReleaseableExternalContext makeExternalContext(PortletRequest request, PortletResponse response)
+ {
+ return (ReleaseableExternalContext)new ForumsPortletExternalContextImpl(portletContext, request, response);
+ }
+
/**
* Called by the portlet container to allow the portlet to process an action request.
*/
Copied: labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsPortletExternalContextImpl.java (from rev 18943, labs/jbossforums/branches/forums101P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsPortletExternalContextImpl.java)
===================================================================
--- labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsPortletExternalContextImpl.java (rev 0)
+++ labs/jbossforums/branches/forums110P26/forums/src/main/org/jboss/portlet/forums/ui/ForumsPortletExternalContextImpl.java 2008-03-13 21:44:45 UTC (rev 18947)
@@ -0,0 +1,31 @@
+package org.jboss.portlet.forums.ui;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+
+import org.apache.myfaces.context.portlet.PortletExternalContextImpl;
+
+/**
+ * The class changes encodeNamespace method to reduce the size of generated pages.
+ *
+ * @author <a href="ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ *
+ */
+public class ForumsPortletExternalContextImpl extends
+ PortletExternalContextImpl
+{
+
+ public ForumsPortletExternalContextImpl(PortletContext portletContext, PortletRequest portletRequest, PortletResponse portletResponse)
+ {
+ super(portletContext, portletRequest, portletResponse);
+ // TODO Auto-generated constructor stub
+ }
+
+ public String encodeNamespace(String name)
+ {
+ super.encodeNamespace(name);
+ return this.getInitParameter("org.jboss.forums.UNIQUE_ID")+name;
+ }
+
+}
Modified: labs/jbossforums/branches/forums110P26/forums/src/resources/portal-forums-war/WEB-INF/web.xml
===================================================================
--- labs/jbossforums/branches/forums110P26/forums/src/resources/portal-forums-war/WEB-INF/web.xml 2008-03-13 21:44:01 UTC (rev 18946)
+++ labs/jbossforums/branches/forums110P26/forums/src/resources/portal-forums-war/WEB-INF/web.xml 2008-03-13 21:44:45 UTC (rev 18947)
@@ -24,11 +24,16 @@
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.jboss.forums.UNIQUE_ID</param-name>
+ <param-value>f</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
- <param-value>client</param-value>
+ <param-value>server</param-value>
<description>
State saving method: "client" or "server" (= default)
See JSF Specification 2.5.2
More information about the jboss-svn-commits
mailing list