You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by cz...@apache.org on 2009/04/10 11:24:13 UTC

svn commit: r763893 - in /portals/pluto/trunk: pluto-container-api/src/main/java/org/apache/pluto/container/ pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/ pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/serv...

Author: cziegeler
Date: Fri Apr 10 09:24:12 2009
New Revision: 763893

URL: http://svn.apache.org/viewvc?rev=763893&view=rev
Log:
PLUTO-551 : Remove classloader from FilterManager interface.

Modified:
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java
    portals/pluto/trunk/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet.java
    portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterChainImpl.java
    portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java

Modified: portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java?rev=763893&r1=763892&r2=763893&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java (original)
+++ portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java Fri Apr 10 09:24:12 2009
@@ -40,8 +40,8 @@
  */
 public interface FilterManager {
 
-    void processFilter(ActionRequest req, ActionResponse res, ClassLoader loader, Portlet portlet, PortletContext portletContext) throws PortletException, IOException;
-    void processFilter(RenderRequest req, RenderResponse res, ClassLoader loader, Portlet portlet, PortletContext portletContext) throws PortletException, IOException;
-    void processFilter(ResourceRequest req, ResourceResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet, PortletContext portletContext)throws PortletException, IOException;
-    void processFilter(EventRequest req, EventResponse res, ClassLoader loader, EventPortlet eventPortlet, PortletContext portletContext)throws PortletException, IOException;
+    void processFilter(ActionRequest req, ActionResponse res, Portlet portlet, PortletContext portletContext) throws PortletException, IOException;
+    void processFilter(RenderRequest req, RenderResponse res, Portlet portlet, PortletContext portletContext) throws PortletException, IOException;
+    void processFilter(ResourceRequest req, ResourceResponse res, ResourceServingPortlet resourceServingPortlet, PortletContext portletContext)throws PortletException, IOException;
+    void processFilter(EventRequest req, EventResponse res, EventPortlet eventPortlet, PortletContext portletContext)throws PortletException, IOException;
 }

Modified: portals/pluto/trunk/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet.java?rev=763893&r1=763892&r2=763893&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet.java (original)
+++ portals/pluto/trunk/pluto-container-driver-api/src/main/java/org/apache/pluto/container/driver/PortletServlet.java Fri Apr 10 09:24:12 2009
@@ -326,9 +326,6 @@
 
         notify(event, true, null);
 
-        // Init the classloader for the filter and get the Service for
-        // processing the filters.
-        ClassLoader loader = Thread.currentThread().getContextClassLoader();
         // FilterManager filtermanager = (FilterManager) request.getAttribute(
         // "filter-manager");
 
@@ -341,7 +338,7 @@
                 RenderRequest renderRequest = (RenderRequest) portletRequest;
                 RenderResponse renderResponse = (RenderResponse) portletResponse;
                 filterManager.processFilter(renderRequest, renderResponse,
-                        loader, portlet, portletContext);
+                        portlet, portletContext);
             }
 
             // The requested method is RESOURCE: call
@@ -351,7 +348,7 @@
                 ResourceRequest resourceRequest = (ResourceRequest) portletRequest;
                 ResourceResponse resourceResponse = (ResourceResponse) portletResponse;
                 filterManager.processFilter(resourceRequest, resourceResponse,
-                        loader, resourceServingPortlet, portletContext);
+                        resourceServingPortlet, portletContext);
             }
 
             // The requested method is ACTION: call Portlet.processAction(..)
@@ -360,7 +357,7 @@
                 ActionRequest actionRequest = (ActionRequest) portletRequest;
                 ActionResponse actionResponse = (ActionResponse) portletResponse;
                 filterManager.processFilter(actionRequest, actionResponse,
-                        loader, portlet, portletContext);
+                        portlet, portletContext);
             }
 
             // The request methode is Event: call Portlet.processEvent(..)
@@ -369,7 +366,7 @@
                 EventRequest eventRequest = (EventRequest) portletRequest;
                 EventResponse eventResponse = (EventResponse) portletResponse;
                 filterManager.processFilter(eventRequest, eventResponse,
-                        loader, eventPortlet, portletContext);
+                        eventPortlet, portletContext);
             }
             // The requested method is ADMIN: call handlers.
             else if (methodId == PortletInvokerService.METHOD_ADMIN)

Modified: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterChainImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterChainImpl.java?rev=763893&r1=763892&r2=763893&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterChainImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterChainImpl.java Fri Apr 10 09:24:12 2009
@@ -28,8 +28,6 @@
 import javax.portlet.Portlet;
 import javax.portlet.PortletContext;
 import javax.portlet.PortletException;
-import javax.portlet.PortletRequest;
-import javax.portlet.PortletResponse;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 import javax.portlet.ResourceRequest;
@@ -44,146 +42,148 @@
 import org.apache.pluto.container.om.portlet.Filter;
 
 /**
- * A <code>FilterChain</code> is an object provided by the portlet container 
- * to the developer giving a view into the invocation chain of a 
- * filtered request for a portlet. Filters use the <code>FilterChain</code> 
- * to invoke the next filter in the chain, or if the calling filter is the 
+ * A <code>FilterChain</code> is an object provided by the portlet container
+ * to the developer giving a view into the invocation chain of a
+ * filtered request for a portlet. Filters use the <code>FilterChain</code>
+ * to invoke the next filter in the chain, or if the calling filter is the
  * last filter in the chain, to invoke the portlet at the end of the chain.
  *@since 29/05/2007
  *@version 2.0
  */
 public class FilterChainImpl implements FilterChain {
 
-	private List<Filter> filterList = new ArrayList<Filter>();
-	private String lifeCycle;
-	Portlet portlet;
-	EventPortlet eventPortlet;
-	ResourceServingPortlet resourceServingPortlet;
-	ClassLoader loader;
-	PortletContext portletContext;
-	int filterListIndex = 0;
-
-	public FilterChainImpl(String lifeCycle){
-		this.lifeCycle = lifeCycle;
-	}
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, EventPortlet eventPortlet, PortletContext portletContext) throws IOException, PortletException{
-		this.eventPortlet = eventPortlet;
-		this.loader = loader;
-		this.portletContext = portletContext;
-		doFilter((EventRequest)req,(EventResponse) res);
-	}
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet, PortletContext portletContext) throws IOException, PortletException{
-		this.resourceServingPortlet = resourceServingPortlet;
-		this.loader = loader;
-		this.portletContext = portletContext;
-		doFilter((ResourceRequest)req,(ResourceResponse) res);
-	}
-	
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, Portlet portlet, PortletContext portletContext) throws IOException, PortletException{
-		this.portlet = portlet;
-		this.loader = loader;
-		this.portletContext = portletContext;
-		if (lifeCycle.equals(PortletRequest.ACTION_PHASE)){
-			doFilter((ActionRequest)req,(ActionResponse) res);
-		}
-		else if (lifeCycle.equals(PortletRequest.RENDER_PHASE)){
-			doFilter((RenderRequest)req, (RenderResponse)res);
-		}
-	}
-	
-	public void addFilter(Filter filter){
-		filterList.add(filter);
-	}
-	
-	public void doFilter(ActionRequest request, ActionResponse response) throws IOException, PortletException {
-		if (filterListIndex <filterList.size()){
-			Filter filter = filterList.get(filterListIndex);
-			filterListIndex++;
-			try {
-				ActionFilter actionFilter = (ActionFilter) loader.loadClass(filter.getFilterClass()).newInstance();
-				FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
-				actionFilter.init(filterConfig);
-				actionFilter.doFilter(request, response, this);
-				actionFilter.destroy();
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			}
-		}
-		else{
-			portlet.processAction(request, response);
-		}
-	}
-	
-	public void doFilter(EventRequest request, EventResponse response) throws IOException, PortletException {
-		if (filterListIndex <filterList.size()){
-			Filter filter = filterList.get(filterListIndex);
-			filterListIndex++;
-			try {
-				EventFilter eventFilter = (EventFilter) loader.loadClass(filter.getFilterClass()).newInstance();
-				FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
-				eventFilter.init(filterConfig);
-				eventFilter.doFilter(request, response, this);
-				eventFilter.destroy();
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			}
-		}
-		else{
-			eventPortlet.processEvent(request, response);
-		}
-	}
-
-	public void doFilter(RenderRequest request, RenderResponse response) throws IOException, PortletException {
-		if (filterListIndex <filterList.size()){
-			Filter filter = filterList.get(filterListIndex);
-			filterListIndex++;
-			try {
-				RenderFilter renderFilter = (RenderFilter) loader.loadClass(filter.getFilterClass()).newInstance();
-				FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
-				renderFilter.init(filterConfig);
-				renderFilter.doFilter(request, response, this);
-				renderFilter.destroy();
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			}
-		}
-		else{
-			portlet.render(request, response);
-		}
-	}
-
-	public void doFilter(ResourceRequest request, ResourceResponse response) throws IOException, PortletException {
-		if (filterListIndex <filterList.size()){
-			Filter filter = filterList.get(filterListIndex);
-			filterListIndex++;
-			try {
-				ResourceFilter resourceFilter = (ResourceFilter) loader.loadClass(filter.getFilterClass()).newInstance();
-				FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
-				resourceFilter.init(filterConfig);
-				resourceFilter.doFilter(request, response, this);
-				resourceFilter.destroy();
-			} catch (InstantiationException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			}
-		}
-		else{
-			resourceServingPortlet.serveResource(request, response);
-		}
-	}
+    private List<Filter> filterList = new ArrayList<Filter>();
+    private String lifeCycle;
+    Portlet portlet;
+    EventPortlet eventPortlet;
+    ResourceServingPortlet resourceServingPortlet;
+    ClassLoader loader;
+    PortletContext portletContext;
+    int filterListIndex = 0;
+
+    public FilterChainImpl(String lifeCycle){
+        this.lifeCycle = lifeCycle;
+    }
+    public void processFilter(EventRequest req, EventResponse res, EventPortlet eventPortlet, PortletContext portletContext) throws IOException, PortletException{
+        this.eventPortlet = eventPortlet;
+        this.loader = Thread.currentThread().getContextClassLoader();
+        this.portletContext = portletContext;
+        doFilter(req,res);
+    }
+    public void processFilter(ResourceRequest req, ResourceResponse res, ResourceServingPortlet resourceServingPortlet, PortletContext portletContext) throws IOException, PortletException{
+        this.resourceServingPortlet = resourceServingPortlet;
+        this.loader = Thread.currentThread().getContextClassLoader();
+        this.portletContext = portletContext;
+        doFilter(req,res);
+    }
+
+    public void processFilter(ActionRequest req, ActionResponse res, Portlet portlet, PortletContext portletContext) throws IOException, PortletException{
+        this.portlet = portlet;
+        this.loader = Thread.currentThread().getContextClassLoader();
+        this.portletContext = portletContext;
+        doFilter(req,res);
+    }
+
+    public void processFilter(RenderRequest req, RenderResponse res, Portlet portlet, PortletContext portletContext) throws IOException, PortletException{
+        this.portlet = portlet;
+        this.loader = Thread.currentThread().getContextClassLoader();
+        this.portletContext = portletContext;
+        doFilter(req, res);
+    }
+
+    public void addFilter(Filter filter){
+        filterList.add(filter);
+    }
+
+    public void doFilter(ActionRequest request, ActionResponse response) throws IOException, PortletException {
+        if (filterListIndex <filterList.size()){
+            Filter filter = filterList.get(filterListIndex);
+            filterListIndex++;
+            try {
+                ActionFilter actionFilter = (ActionFilter) loader.loadClass(filter.getFilterClass()).newInstance();
+                FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
+                actionFilter.init(filterConfig);
+                actionFilter.doFilter(request, response, this);
+                actionFilter.destroy();
+            } catch (InstantiationException e) {
+                e.printStackTrace();
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+            } catch (ClassNotFoundException e) {
+                e.printStackTrace();
+            }
+        }
+        else{
+            portlet.processAction(request, response);
+        }
+    }
+
+    public void doFilter(EventRequest request, EventResponse response) throws IOException, PortletException {
+        if (filterListIndex <filterList.size()){
+            Filter filter = filterList.get(filterListIndex);
+            filterListIndex++;
+            try {
+                EventFilter eventFilter = (EventFilter) loader.loadClass(filter.getFilterClass()).newInstance();
+                FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
+                eventFilter.init(filterConfig);
+                eventFilter.doFilter(request, response, this);
+                eventFilter.destroy();
+            } catch (InstantiationException e) {
+                e.printStackTrace();
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+            } catch (ClassNotFoundException e) {
+                e.printStackTrace();
+            }
+        }
+        else{
+            eventPortlet.processEvent(request, response);
+        }
+    }
+
+    public void doFilter(RenderRequest request, RenderResponse response) throws IOException, PortletException {
+        if (filterListIndex <filterList.size()){
+            Filter filter = filterList.get(filterListIndex);
+            filterListIndex++;
+            try {
+                RenderFilter renderFilter = (RenderFilter) loader.loadClass(filter.getFilterClass()).newInstance();
+                FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
+                renderFilter.init(filterConfig);
+                renderFilter.doFilter(request, response, this);
+                renderFilter.destroy();
+            } catch (InstantiationException e) {
+                e.printStackTrace();
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+            } catch (ClassNotFoundException e) {
+                e.printStackTrace();
+            }
+        }
+        else{
+            portlet.render(request, response);
+        }
+    }
+
+    public void doFilter(ResourceRequest request, ResourceResponse response) throws IOException, PortletException {
+        if (filterListIndex <filterList.size()){
+            Filter filter = filterList.get(filterListIndex);
+            filterListIndex++;
+            try {
+                ResourceFilter resourceFilter = (ResourceFilter) loader.loadClass(filter.getFilterClass()).newInstance();
+                FilterConfigImpl filterConfig = new FilterConfigImpl(filter.getFilterName(),filter.getInitParams(),portletContext);
+                resourceFilter.init(filterConfig);
+                resourceFilter.doFilter(request, response, this);
+                resourceFilter.destroy();
+            } catch (InstantiationException e) {
+                e.printStackTrace();
+            } catch (IllegalAccessException e) {
+                e.printStackTrace();
+            } catch (ClassNotFoundException e) {
+                e.printStackTrace();
+            }
+        }
+        else{
+            resourceServingPortlet.serveResource(request, response);
+        }
+    }
 }

Modified: portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java
URL: http://svn.apache.org/viewvc/portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java?rev=763893&r1=763892&r2=763893&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java (original)
+++ portals/pluto/trunk/pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java Fri Apr 10 09:24:12 2009
@@ -82,31 +82,31 @@
     }
 
     /**
-     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.EventRequest, javax.portlet.EventResponse, java.lang.ClassLoader, javax.portlet.EventPortlet, javax.portlet.PortletContext)
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.EventRequest, javax.portlet.EventResponse, javax.portlet.EventPortlet, javax.portlet.PortletContext)
      */
-    public void processFilter(EventRequest req, EventResponse res, ClassLoader loader, EventPortlet eventPortlet,PortletContext portletContext)throws PortletException, IOException{
-        filterchain.processFilter(req, res, loader, eventPortlet, portletContext);
+    public void processFilter(EventRequest req, EventResponse res, EventPortlet eventPortlet,PortletContext portletContext)throws PortletException, IOException{
+        filterchain.processFilter(req, res, eventPortlet, portletContext);
     }
 
     /**
-     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse, java.lang.ClassLoader, javax.portlet.ResourceServingPortlet, javax.portlet.PortletContext)
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse, javax.portlet.ResourceServingPortlet, javax.portlet.PortletContext)
      */
-    public void processFilter(ResourceRequest req, ResourceResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet,PortletContext portletContext)throws PortletException, IOException{
-        filterchain.processFilter(req, res, loader, resourceServingPortlet, portletContext);
+    public void processFilter(ResourceRequest req, ResourceResponse res, ResourceServingPortlet resourceServingPortlet,PortletContext portletContext)throws PortletException, IOException{
+        filterchain.processFilter(req, res, resourceServingPortlet, portletContext);
     }
 
     /**
-     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.RenderRequest, javax.portlet.RenderResponse, java.lang.ClassLoader, javax.portlet.Portlet, javax.portlet.PortletContext)
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.RenderRequest, javax.portlet.RenderResponse, javax.portlet.Portlet, javax.portlet.PortletContext)
      */
-    public void processFilter(RenderRequest req, RenderResponse res, ClassLoader loader, Portlet portlet,PortletContext portletContext) throws PortletException, IOException{
-        filterchain.processFilter(req, res, loader, portlet, portletContext);
+    public void processFilter(RenderRequest req, RenderResponse res, Portlet portlet,PortletContext portletContext) throws PortletException, IOException{
+        filterchain.processFilter(req, res, portlet, portletContext);
     }
 
     /**
-     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ActionRequest, javax.portlet.ActionResponse, java.lang.ClassLoader, javax.portlet.Portlet, javax.portlet.PortletContext)
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ActionRequest, javax.portlet.ActionResponse, javax.portlet.Portlet, javax.portlet.PortletContext)
      */
-    public void processFilter(ActionRequest req, ActionResponse res, ClassLoader loader, Portlet portlet,PortletContext portletContext) throws PortletException, IOException{
-        filterchain.processFilter(req, res, loader, portlet, portletContext);
+    public void processFilter(ActionRequest req, ActionResponse res, Portlet portlet,PortletContext portletContext) throws PortletException, IOException{
+        filterchain.processFilter(req, res, portlet, portletContext);
     }
 
     private boolean isLifeCycle(Filter filter, String lifeCycle){