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/09 21:13:22 UTC

svn commit: r763773 - in /portals/pluto/trunk: pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.java pluto-portal-driver-impl/src/main/java/org/apache/pluto/driver/services/container/FilterManagerImpl.java

Author: cziegeler
Date: Thu Apr  9 19:13:21 2009
New Revision: 763773

URL: http://svn.apache.org/viewvc?rev=763773&view=rev
Log:
PLUTO-550 : Use a separate method for each lifecycle for the FilterManager.

Modified:
    portals/pluto/trunk/pluto-container-api/src/main/java/org/apache/pluto/container/FilterManager.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=763773&r1=763772&r2=763773&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 Thu Apr  9 19:13:21 2009
@@ -18,12 +18,18 @@
 
 import java.io.IOException;
 
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
 import javax.portlet.EventPortlet;
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
 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;
+import javax.portlet.ResourceResponse;
 import javax.portlet.ResourceServingPortlet;
 
 /**
@@ -34,7 +40,8 @@
  */
 public interface FilterManager {
 
-    void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, Portlet portlet, PortletContext portletContext) throws PortletException, IOException;
-    void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet, PortletContext portletContext)throws PortletException, IOException;
-    void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, EventPortlet eventPortlet, PortletContext portletContext)throws PortletException, IOException;
+    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;
 }

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=763773&r1=763772&r2=763773&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 Thu Apr  9 19:13:21 2009
@@ -19,12 +19,18 @@
 import java.io.IOException;
 import java.util.List;
 
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
 import javax.portlet.EventPortlet;
+import javax.portlet.EventRequest;
+import javax.portlet.EventResponse;
 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;
+import javax.portlet.ResourceResponse;
 import javax.portlet.ResourceServingPortlet;
 
 import org.apache.pluto.container.FilterManager;
@@ -32,6 +38,7 @@
 import org.apache.pluto.container.om.portlet.FilterMapping;
 import org.apache.pluto.container.om.portlet.PortletApplicationDefinition;
 
+
 /**
  * Manage the initialization and doFilter {@link FilterChainImpl} for the filter which are
  * declareted in the deployment descriptor.
@@ -39,82 +46,98 @@
  * @version 2.0
  */
 public class FilterManagerImpl implements FilterManager{
-	private FilterChainImpl filterchain;
-	private PortletApplicationDefinition portletApp;
-	private String portletName;
-	private String lifeCycle;
-	
-	public FilterManagerImpl(PortletApplicationDefinition portletApp, String portletName, String lifeCycle){
-		this.portletApp = portletApp;
-		this.portletName =  portletName;
-		this.lifeCycle = lifeCycle;
-		filterchain = new FilterChainImpl(lifeCycle);
-		initFilterChain();
-	}
-	
-	private void initFilterChain(){
-		List<? extends FilterMapping> filterMappingList = portletApp.getFilterMappings();
-		if (filterMappingList!= null){
-			for (FilterMapping filterMapping : filterMappingList) {
-				if (isFilter(filterMapping, portletName)){
-					//the filter is specified for the portlet, check the filter for the lifecycle
-					List<? extends Filter> filterList = portletApp.getFilters();
-					for (Filter filter : filterList) {
-						//search for the filter in the filter
-						if (filter.getFilterName().equals(filterMapping.getFilterName())){
-							//check the lifecycle
-							if (isLifeCycle(filter, lifeCycle)){
-								//the filter match to the portlet and has the specified lifecycle -> add to chain
-								filterchain.addFilter(filter);
-							}
-						}
-					}
-				}
-			}
-		}	
-	}
-	
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, EventPortlet eventPortlet,PortletContext portletContext)throws PortletException, IOException{
-		filterchain.processFilter(req, res, loader, eventPortlet, portletContext);
-	}
-	
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, ResourceServingPortlet resourceServingPortlet,PortletContext portletContext)throws PortletException, IOException{
-		filterchain.processFilter(req, res, loader, resourceServingPortlet, portletContext);
-	}
-	
-	public void processFilter(PortletRequest req, PortletResponse res, ClassLoader loader, Portlet portlet,PortletContext portletContext) throws PortletException, IOException{
-		filterchain.processFilter(req, res, loader, portlet, portletContext);
-	}
-	
-	private boolean isLifeCycle(Filter filter, String lifeCycle){
-		List <String> lifeCyclesList = filter.getLifecycles();
-		for (String string : lifeCyclesList) {
-			if (string.equals(lifeCycle))
-				return true;
-		}
-		return false;
-	}
-	
-	private boolean isFilter(FilterMapping filterMapping,String portletName){
-		List <String> portletNamesList = filterMapping.getPortletNames();
-		for (String portletNameFromFilterList : portletNamesList) {
-			if (portletNameFromFilterList.endsWith("*")){
-				if (portletNameFromFilterList.length()==1){
-					//if name contains only *
-					return true;
-				}
-				portletNameFromFilterList = portletNameFromFilterList.substring(0, portletNameFromFilterList.length()-1);
-				if (portletName.length()>= portletNameFromFilterList.length()){
-					if (portletName.substring(0, portletNameFromFilterList.length()).equals(portletNameFromFilterList)){
-						return true;
-					}
-				}
-			}
-			else if (portletNameFromFilterList.equals(portletName))
-				return true;
-		}
-		return false;
-	}
-	
+    private FilterChainImpl filterchain;
+    private PortletApplicationDefinition portletApp;
+    private String portletName;
+    private String lifeCycle;
+
+    public FilterManagerImpl(PortletApplicationDefinition portletApp, String portletName, String lifeCycle){
+        this.portletApp = portletApp;
+        this.portletName =  portletName;
+        this.lifeCycle = lifeCycle;
+        filterchain = new FilterChainImpl(lifeCycle);
+        initFilterChain();
+    }
+
+    private void initFilterChain(){
+        List<? extends FilterMapping> filterMappingList = portletApp.getFilterMappings();
+        if (filterMappingList!= null){
+            for (FilterMapping filterMapping : filterMappingList) {
+                if (isFilter(filterMapping, portletName)){
+                    //the filter is specified for the portlet, check the filter for the lifecycle
+                    List<? extends Filter> filterList = portletApp.getFilters();
+                    for (Filter filter : filterList) {
+                        //search for the filter in the filter
+                        if (filter.getFilterName().equals(filterMapping.getFilterName())){
+                            //check the lifecycle
+                            if (isLifeCycle(filter, lifeCycle)){
+                                //the filter match to the portlet and has the specified lifecycle -> add to chain
+                                filterchain.addFilter(filter);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.EventRequest, javax.portlet.EventResponse, java.lang.ClassLoader, 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);
+    }
+
+    /**
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse, java.lang.ClassLoader, 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);
+    }
+
+    /**
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.RenderRequest, javax.portlet.RenderResponse, java.lang.ClassLoader, 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);
+    }
+
+    /**
+     * @see org.apache.pluto.container.FilterManager#processFilter(javax.portlet.ActionRequest, javax.portlet.ActionResponse, java.lang.ClassLoader, 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);
+    }
+
+    private boolean isLifeCycle(Filter filter, String lifeCycle){
+        List <String> lifeCyclesList = filter.getLifecycles();
+        for (String string : lifeCyclesList) {
+            if (string.equals(lifeCycle))
+                return true;
+        }
+        return false;
+    }
+
+    private boolean isFilter(FilterMapping filterMapping,String portletName){
+        List <String> portletNamesList = filterMapping.getPortletNames();
+        for (String portletNameFromFilterList : portletNamesList) {
+            if (portletNameFromFilterList.endsWith("*")){
+                if (portletNameFromFilterList.length()==1){
+                    //if name contains only *
+                    return true;
+                }
+                portletNameFromFilterList = portletNameFromFilterList.substring(0, portletNameFromFilterList.length()-1);
+                if (portletName.length()>= portletNameFromFilterList.length()){
+                    if (portletName.substring(0, portletNameFromFilterList.length()).equals(portletNameFromFilterList)){
+                        return true;
+                    }
+                }
+            }
+            else if (portletNameFromFilterList.equals(portletName))
+                return true;
+        }
+        return false;
+    }
+
 
 }