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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Feb 3 21:07:51 EST 2007


Author: unibrew
Date: 2007-02-03 21:07:51 -0500 (Sat, 03 Feb 2007)
New Revision: 9317

Modified:
   labs/jbossforums/branches/forums26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
Log:
[JBFORUMS-162] Finally solving migration problems with Portal2.6Alpha1 and AS 4.0.5. Thanks Przemek for help

Modified: labs/jbossforums/branches/forums26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java
===================================================================
--- labs/jbossforums/branches/forums26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java	2007-02-04 02:02:11 UTC (rev 9316)
+++ labs/jbossforums/branches/forums26/forums/src/main/org/jboss/portlet/forums/ui/ForumsJSFPortlet.java	2007-02-04 02:07:51 UTC (rev 9317)
@@ -236,8 +236,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 PortletParameters(newParams));
+            field.setAccessible(false);
+            
+            
             lifecycle.execute(fc);
-
             if (fc.getResponseComplete()==false)
             {
                 if (request.getParameterValues(VIEW)!=null) {
@@ -288,7 +310,7 @@
             
             Map map = request.getParameterMap();
             Map newParams = new HashMap();  
-            newParams.putAll(map);            
+            newParams.putAll(map);
             
             if (facesContext.getViewRoot()==null) {
                 facesContext.setViewRoot(new UIViewRoot());
@@ -304,6 +326,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