Author: ate
Date: Fri Jun 15 05:32:10 2007
New Revision: 547651

URL: http://svn.apache.org/viewvc?view=rev&rev=547651
Log:
Fix for WICKET-660: New Wicket Portlet support: Merge WicketPortletFilter back 
in WicketFilter using a delagate class for handling and (class) loading the 
portlet specific functionality
See: https://issues.apache.org/jira/browse/WICKET-660#action_12505198

Added:
    
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
   (with props)
Modified:
    
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
    
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/WicketFilterPortletContext.java

Modified: 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?view=diff&rev=547651&r1=547650&r2=547651
==============================================================================
--- 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
 Fri Jun 15 05:32:10 2007
@@ -39,6 +39,7 @@
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.parser.XmlPullParser;
 import org.apache.wicket.markup.parser.XmlTag;
+import org.apache.wicket.protocol.http.portlet.FilterRequestContext;
 import org.apache.wicket.protocol.http.portlet.WicketFilterPortletContext;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.session.ISessionStore;
@@ -119,17 +120,26 @@
        public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain)
                        throws IOException, ServletException
        {
-               HttpServletRequest httpServletRequest = 
(HttpServletRequest)request;
-               String relativePath = getRelativePath(httpServletRequest);
-
+               HttpServletRequest httpServletRequest;
+               HttpServletResponse httpServletResponse;
+               
         if (filterPortletContext != null)
         {
-               filterPortletContext.setupFilter(getFilterConfig(), request, 
response, getFilterPath(httpServletRequest));
+               FilterRequestContext filterRequestContext = new 
FilterRequestContext((HttpServletRequest)request,(HttpServletResponse)response);
+               filterPortletContext.setupFilter(getFilterConfig(), 
filterRequestContext, getFilterPath((HttpServletRequest)request));
+               httpServletRequest = filterRequestContext.getRequest();
+               httpServletResponse = filterRequestContext.getResponse();
+        }
+        else
+        {
+               httpServletRequest = (HttpServletRequest)request;
+                       httpServletResponse = (HttpServletResponse)response;
         }
         
+               String relativePath = getRelativePath(httpServletRequest);
+               
                if (isWicketRequest(relativePath))
                {
-                       HttpServletResponse httpServletResponse = 
(HttpServletResponse)response;
                        long lastModified = getLastModified(httpServletRequest);
                        if (lastModified == -1)
                        {

Added: 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java?view=auto&rev=547651
==============================================================================
--- 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
 (added)
+++ 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
 Fri Jun 15 05:32:10 2007
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.protocol.http.portlet;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public final class FilterRequestContext
+{
+       private HttpServletRequest request;
+       private HttpServletResponse response;
+
+       public FilterRequestContext(HttpServletRequest request, 
HttpServletResponse response)
+       {
+               this.request = request;
+               this.response = response;
+       }
+       
+       public HttpServletRequest getRequest()
+       {
+               return request;
+       }
+       public void setRequest(HttpServletRequest request)
+       {
+               this.request = request;
+       }
+       public HttpServletResponse getResponse()
+       {
+               return response;
+       }
+       public void setResponse(HttpServletResponse response)
+       {
+               this.response = response;
+       }
+}
\ No newline at end of file

Propchange: 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/FilterRequestContext.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/WicketFilterPortletContext.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/WicketFilterPortletContext.java?view=diff&rev=547651&r1=547650&r2=547651
==============================================================================
--- 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/WicketFilterPortletContext.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/WicketFilterPortletContext.java
 Fri Jun 15 05:32:10 2007
@@ -26,7 +26,6 @@
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 
 import org.apache.portals.bridges.common.PortletResourceURLFactory;
 import org.apache.portals.bridges.util.ServletPortletSessionProxy;
@@ -41,31 +40,30 @@
  */
 public class WicketFilterPortletContext
 {
-    public void initFilter(FilterConfig filterConfig, WebApplication 
webApplication) throws ServletException
+       public void initFilter(FilterConfig filterConfig, WebApplication 
webApplication) throws ServletException
     {
         
webApplication.getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.REDIRECT_TO_RENDER);
     }
 
-    public void setupFilter(FilterConfig config, ServletRequest request, 
ServletResponse response, String filterPath) throws IOException, 
ServletException
+    public void setupFilter(FilterConfig config, FilterRequestContext 
filterRequestContext, String filterPath) throws IOException, ServletException
     {
-       HttpServletRequest servletRequest = (HttpServletRequest)request;
-       PortletConfig portletConfig = 
(PortletConfig)request.getAttribute("javax.portlet.config");
+       PortletConfig portletConfig = 
(PortletConfig)filterRequestContext.getRequest().getAttribute("javax.portlet.config");
         if ( portletConfig != null )
         {
-               WicketResponseState responseState = 
(WicketResponseState)request.getAttribute(WicketPortlet.RESPONSE_STATE_ATTR);
-            request = new 
PortletServletRequestWrapper(config.getServletContext(),servletRequest, 
ServletPortletSessionProxy.createProxy(servletRequest));
-            if ( 
WicketPortlet.ACTION_REQUEST.equals(request.getAttribute(WicketPortlet.REQUEST_TYPE_ATTR)))
+               WicketResponseState responseState = 
(WicketResponseState)filterRequestContext.getRequest().getAttribute(WicketPortlet.RESPONSE_STATE_ATTR);
+               filterRequestContext.setRequest(new 
PortletServletRequestWrapper(config.getServletContext(),filterRequestContext.getRequest(),
 ServletPortletSessionProxy.createProxy(filterRequestContext.getRequest())));
+            if ( 
WicketPortlet.ACTION_REQUEST.equals(filterRequestContext.getRequest().getAttribute(WicketPortlet.REQUEST_TYPE_ATTR)))
             {
-                response = new 
PortletActionServletResponseWrapper((HttpServletResponse)response, 
responseState);
+               filterRequestContext.setResponse(new 
PortletActionServletResponseWrapper(filterRequestContext.getResponse(), 
responseState));
             }
             else
             {   
-                response = new PortletRenderServletResponseWrapper( 
(HttpServletResponse)response, 
(RenderResponse)request.getAttribute("javax.portlet.response"),responseState);
+               filterRequestContext.setResponse(new 
PortletRenderServletResponseWrapper(filterRequestContext.getResponse(), 
(RenderResponse)filterRequestContext.getRequest().getAttribute("javax.portlet.response"),responseState));
             }            
         }
         else
         {
-               request = 
PortletRenderContext.getPortletServletRequest(config.getServletContext(),servletRequest,
 filterPath);
+               
filterRequestContext.setRequest(PortletRenderContext.getPortletServletRequest(config.getServletContext(),filterRequestContext.getRequest(),
 filterPath));
         }
     }
     


Reply via email to