KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > portletcontainer > impl > filter > PortletFilterChainImpl


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 JavaDoc;
8 import java.util.Iterator JavaDoc;
9 import java.io.IOException JavaDoc;
10
11 /**
12  * Copyright 2001-2003 The eXo platform SARL All rights reserved.
13  * Please look at license.txt in info directory for more license detail.
14  **/

15
16 /**
17  * Created by the Exo Development team.
18  * Author : Mestrallet Benjamin
19  * benjmestrallet@users.sourceforge.net
20  * Date: 17 nov. 2003
21  * Time: 21:21:35
22  */

23 public class PortletFilterChainImpl implements PortletFilterChain{
24
25     private Iterator JavaDoc iterator;
26     private Portlet portlet;
27     private boolean isAction;
28
29     public void invoke(PortletRequest request, PortletResponse response,
30                                        Collection JavaDoc filters, Portlet p, boolean isAction)
31                     throws IOException JavaDoc, 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 JavaDoc, 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