[jboss-svn-commits] JBL Code SVN: r9339 - labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Feb 5 08:27:45 EST 2007


Author: unibrew
Date: 2007-02-05 08:27:45 -0500 (Mon, 05 Feb 2007)
New Revision: 9339

Modified:
   labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
Log:
[JBFORUMS-162] Adding support for AS 4.0.5 for Forums deployed with Portal 2.4.1.

Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
===================================================================
--- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java	2007-02-05 13:27:07 UTC (rev 9338)
+++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java	2007-02-05 13:27:45 UTC (rev 9339)
@@ -237,8 +237,30 @@
             }
             
             FacesContext fc = facesContext(request, response);
+            
+            Map map = request.getParameterMap();
+            Map newParams = new HashMap();
+            newParams.putAll(map);
+
+            if (map.get(VIEW)!=null) {
+                String viewName = ((String[])newParams.get(VIEW))[0];
+                newParams.put(MyFacesGenericPortlet.VIEW_ID,new String[]{getNameForId(viewName)});
+                if (fc.getViewRoot() != null) {
+                    fc.getViewRoot().setViewId(getNameForId(viewName));
+                } else {
+                    fc.setViewRoot(new UIViewRoot());
+                    fc.getViewRoot().setViewId(getNameForId(viewName));
+                }
+            }
+
+            Class requestClass = PortletRequestImpl.class;
+            Field field = requestClass.getDeclaredField("parameters");
+            field.setAccessible(true);
+            field.set(request, new Parameters(newParams));
+            field.setAccessible(false);
+            
+            
             lifecycle.execute(fc);
-
             if (fc.getResponseComplete()==false)
             {
                 if (request.getParameterValues(VIEW)!=null) {
@@ -289,7 +311,7 @@
             
             Map map = request.getParameterMap();
             Map newParams = new HashMap();  
-            newParams.putAll(map);            
+            newParams.putAll(map);
             
             if (facesContext.getViewRoot()==null) {
                 facesContext.setViewRoot(new UIViewRoot());
@@ -305,6 +327,14 @@
                 String viewName = ((String[])newParams.get(VIEW))[0];
                 newParams.put(MyFacesGenericPortlet.VIEW_ID,new String[]{getNameForId(viewName)});
                 facesContext.getViewRoot().setViewId(getNameForId(viewName));
+            } else if (map.get(MyFacesGenericPortlet.VIEW_ID)!=null ) {
+                String viewId = ((String[])newParams.get(MyFacesGenericPortlet.VIEW_ID))[0];
+                newParams.put(MyFacesGenericPortlet.VIEW_ID,new String[]{viewId});
+                facesContext.getViewRoot().setViewId(getNameForId(viewId));
+            } else {
+                setPortletRequestFlag(request);
+                nonFacesRequest(request,response,"/views/index.jsf");
+                return;
             }
 
             Class requestClass = PortletRequestImpl.class;




More information about the jboss-svn-commits mailing list