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){