org.blojsom.plugin.moderation
Class OpenProxyModerationPlugin

java.lang.Object
  extended byorg.blojsom.plugin.moderation.OpenProxyModerationPlugin
All Implemented Interfaces:
Listener, Plugin

public class OpenProxyModerationPlugin
extends java.lang.Object
implements Plugin, Listener

Open proxy check plugin for comments and trackbacks. This plugin queries the Distributed Sender Blackhole List if a comment or trackback is submitted. If the IP address of the requesting host is on the blacklist, the comment or trackback is marked for moderation if moderation is enabled, otherwise it is destroyed. This plugin can work in conjunction with other moderation plugins as it looks for the comment or trackback metadata.

Since:
blojsom 3.0
Version:
$Id: OpenProxyModerationPlugin.java,v 1.4 2007/03/06 20:18:51 czarneckid Exp $
Author:
David Czarnecki

Constructor Summary
OpenProxyModerationPlugin()
          Create a new instance of the open proxy comment check plugin
 
Method Summary
 void cleanup()
          Perform any cleanup for the plugin.
 void destroy()
          Called when BlojsomServlet is taken out of service
 void handleEvent(Event event)
          Handle an event broadcast from another component
 void init()
          Initialize this plugin.
 Entry[] process(javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse, Blog blog, java.util.Map context, Entry[] entries)
          Process the blog entries
 void processEvent(Event event)
          Process an event from another component
 void setEventBroadcaster(EventBroadcaster eventBroadcaster)
          Set the EventBroadcaster event broadcaster
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpenProxyModerationPlugin

public OpenProxyModerationPlugin()
Create a new instance of the open proxy comment check plugin

Method Detail

setEventBroadcaster

public void setEventBroadcaster(EventBroadcaster eventBroadcaster)
Set the EventBroadcaster event broadcaster

Parameters:
eventBroadcaster - EventBroadcaster

init

public void init()
          throws PluginException
Initialize this plugin. This method only called when the plugin is instantiated.

Specified by:
init in interface Plugin
Throws:
PluginException - If there is an error initializing the plugin

process

public Entry[] process(javax.servlet.http.HttpServletRequest httpServletRequest,
                       javax.servlet.http.HttpServletResponse httpServletResponse,
                       Blog blog,
                       java.util.Map context,
                       Entry[] entries)
                throws PluginException
Process the blog entries

Specified by:
process in interface Plugin
Parameters:
httpServletRequest - Request
httpServletResponse - Response
blog - Blog instance
context - Context
entries - Blog entries retrieved for the particular request
Returns:
Modified set of blog entries
Throws:
PluginException - If there is an error processing the blog entries

handleEvent

public void handleEvent(Event event)
Handle an event broadcast from another component

Specified by:
handleEvent in interface Listener
Parameters:
event - Event to be handled

processEvent

public void processEvent(Event event)
Process an event from another component

Specified by:
processEvent in interface Listener
Parameters:
event - Event to be handled

cleanup

public void cleanup()
             throws PluginException
Perform any cleanup for the plugin. Called after process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.blojsom.blog.Blog, java.util.Map, org.blojsom.blog.Entry[]).

Specified by:
cleanup in interface Plugin
Throws:
PluginException - If there is an error performing cleanup for this plugin

destroy

public void destroy()
             throws PluginException
Called when BlojsomServlet is taken out of service

Specified by:
destroy in interface Plugin
Throws:
PluginException - If there is an error in finalizing this plugin