1 package org.exoplatform.services.portletcontainer.impl.filter; 2 3 4 import javax.portlet.*; 5 import org.exoplatform.services.portletcontainer.filter.PortletFilter; 6 import org.exoplatform.services.portletcontainer.filter.PortletFilterChain; 7 import java.util.Collection ; 8 import java.util.Iterator ; 9 import java.io.IOException ; 10 11 15 16 23 public class PortletFilterChainImpl implements PortletFilterChain{ 24 25 private Iterator iterator; 26 private Portlet portlet; 27 private boolean isAction; 28 29 public void invoke(PortletRequest request, PortletResponse response, 30 Collection filters, Portlet p, boolean isAction) 31 throws IOException , PortletException { 32 this.iterator = filters.iterator(); 33 this.isAction = isAction; 34 this.portlet = p; 35 PortletFilter portletFilter = (PortletFilter) iterator.next(); 36 portletFilter.doFilter(request, response, this); 37 } 38 39 public void doFilter(PortletRequest request, PortletResponse response) 40 throws IOException , PortletException { 41 if(iterator.hasNext()){ 42 PortletFilter portletFilter = (PortletFilter) iterator.next(); 43 portletFilter.doFilter(request, response, this); 44 } else { 45 if (isAction) 46 portlet.processAction((ActionRequest)request, (ActionResponse)response); 47 else 48 portlet.render((RenderRequest)request, (RenderResponse)response); 49 } 50 } 51 52 53 } 54 | Popular Tags |