Implements Portlet Filter
-------------------------
Key: JS2-380
URL: http://issues.apache.org/jira/browse/JS2-380
Project: Jetspeed 2
Type: New Feature
Components: Demo Portlets
Versions: 2.0-dev/cvs
Environment: J2SE 1.4
Reporter: Shinsuke SUGAYA
Assigned to: Shinsuke SUGAYA
Fix For: 2.0-dev/cvs
FilterPortlet
=============
Overview
---------
FilterPortlet enables you to add processes you want before and after accessing
the target portlet.
The feature provided by FilterPortlet is like Servlet Filter. (Portlet Filter
may be included in
future Portlet Spec, but currently it's not included yet.)
I have already implemented it to fix MyFaces dependency issue(please see
http://issues.apache.org/jira/browse/MYFACES-434).
Generalizing it, I put them to:
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/jetplume/jetplume/bridges/portlet-filter/
Class&Interface
---------------
- FilterPortlet class
FilterPortlet wraps the target portlet.
- PortletFilter interface
The process you want to add is implemented this interface.
- PortletFilterChain class
This class is an object provided to the developer giving a view
into the invocation chain of a filtered request for a resource.
- PortletFilterConfig class
A filter configuration object used by FilterPortlet to pass
information to a filter during initialization.
If you have used Servlet Filter, I think it's easy to use FilterPortlet :)
Example
-------
For example, if you create "HelloWorldPortletFilter" as the portlet filter,
portlet.xml is:
<portlet-app id="helloworld" version="1.0">
<portlet id="FilteredHelloWorld">
<portlet-name>FilteredHelloWorld</portlet-name>
<display-name>Filtered Hello World</display-name>
<description>HelloWorld is a filtered portlet for testing</description>
<portlet-class>jp.sf.jetplume.portlets.filter.FilterPortlet</portlet-class>
<init-param>
<name>portlet-class</name>
<value>jp.sf.jetplume.portlets.helloworld.HelloWorldPortlet</value>
</init-param>
<init-param>
<name>portlet-filters</name>
<value>jp.sf.jetplume.portlets.helloworld.filter.HelloWorldPortletFilter</value>
</init-param>
<expiration-cache>-1</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<supported-locale>ja</supported-locale>
<resource-bundle>jp.sf.jetplume.portlets.helloworld.resources.HelloWorldResources</resource-bundle>
<portlet-info>
<title>Filtered Hello World</title>
<short-title>This is a filtered portlet for testing</short-title>
<keywords>Hello,Test,PortletFilter</keywords>
</portlet-info>
</portlet>
</portlet-app>
Sample Files:
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/jetplume/jetplume/portlets/helloworld/src/webapp/WEB-INF/portlet.xml?rev=1.2&content-type=text/vnd.viewcvs-markup
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/jetplume/jetplume/portlets/helloworld/src/java/jp/sf/jetplume/portlets/helloworld/filter/HelloWorldPortletFilter.java?rev=1.1&content-type=text/vnd.viewcvs-markup
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]