org.blojsom.plugin.trackback
Class TrackbackPlugin

java.lang.Object
  extended byorg.blojsom.plugin.velocity.StandaloneVelocityPlugin
      extended byorg.blojsom.plugin.trackback.TrackbackPlugin
All Implemented Interfaces:
BlojsomMetaDataConstants, EmailConstants, Listener, Plugin

public class TrackbackPlugin
extends StandaloneVelocityPlugin
implements BlojsomMetaDataConstants, Listener, EmailConstants

TrackbackPlugin

Since:
blojsom 3.0
Version:
$Id: TrackbackPlugin.java,v 1.10 2007/03/01 18:36:47 czarneckid Exp $
Author:
David Czarnecki

Field Summary
static java.lang.String BLOJSOM_PLUGIN_TRACKBACK_METADATA
           
static java.lang.String BLOJSOM_PLUGIN_TRACKBACK_METADATA_DESTROY
           
static java.lang.String BLOJSOM_TRACKBACK_MESSAGE
          Key under which the trackback error message will be placed (example: on the request for the JSPDispatcher)
static java.lang.String BLOJSOM_TRACKBACK_PLUGIN_BLOG_ENTRY
          Key under which the blog entry will be placed for merging the trackback e-mail
static java.lang.String BLOJSOM_TRACKBACK_PLUGIN_ENABLED
          Key under which the indicator this plugin is "live" will be placed (example: on the request for the JSPDispatcher)
static java.lang.String BLOJSOM_TRACKBACK_PLUGIN_METADATA_IP
          IP address meta-data
static java.lang.String BLOJSOM_TRACKBACK_PLUGIN_TRACKBACK
          Key under which the blog comment will be placed for merging the trackback e-mail
static java.lang.String BLOJSOM_TRACKBACK_RETURN_CODE
          Key under which the trackback return code will be placed (example: on the request for the JSPDispatcher)
static java.lang.String DEFAULT_TRACKBACK_PREFIX
          Default prefix for trackback e-mail notification
static java.lang.String TRACKBACK_BLOG_NAME_PARAM
          Request parameter for the trackback "blog_name"
static java.lang.String TRACKBACK_DAYS_EXPIRATION_IP
          Initialization parameter for disabling trackbacks on entries after a certain number of days
static java.lang.String TRACKBACK_EXCERPT_PARAM
          Request parameter for the trackback "excerpt"
static java.lang.String TRACKBACK_PARAM
          Request parameter to indicate a trackback "tb"
static java.lang.String TRACKBACK_PLUGIN_EMAIL_TEMPLATE_HTML
           
static java.lang.String TRACKBACK_PLUGIN_EMAIL_TEMPLATE_TEXT
          Template for comment e-mails
static java.lang.String TRACKBACK_PREFIX_IP
          Initialization parameter for e-mail prefix
static java.lang.String TRACKBACK_THROTTLE_MINUTES_IP
          Initialization parameter for the throttling of trackbacks from IP addresses
static java.lang.String TRACKBACK_TITLE_PARAM
          Request parameter for the trackback "title"
static java.lang.String TRACKBACK_URL_PARAM
          Request parameter for the trackback "url"
 
Fields inherited from class org.blojsom.plugin.velocity.StandaloneVelocityPlugin
_servletConfig, _velocityProperties
 
Fields inherited from interface org.blojsom.util.BlojsomMetaDataConstants
BLOG_ENTRY_METADATA_AUTHOR, BLOG_ENTRY_METADATA_AUTHOR_EXT, BLOG_ENTRY_METADATA_TIMESTAMP, BLOG_METADATA_COMMENTS_DISABLED, BLOG_METADATA_HEADER, BLOG_METADATA_PINGBACKS_DISABLED, BLOG_METADATA_TRACKBACKS_DISABLED, DRAFT_STATUS, NEW_STATUS, PUBLISHED_STATUS, SOURCE_ATTRIBUTE
 
Fields inherited from interface org.blojsom.plugin.email.EmailConstants
SESSION_NAME, SMTPSERVER_IP, SMTPSERVER_PASSWORD_IP, SMTPSERVER_USERNAME_IP
 
Constructor Summary
TrackbackPlugin()
          Default constructor
 
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
 void setFetcher(Fetcher fetcher)
          Set the Fetcher
protected  void setupEmail(Blog blog, Entry entry, org.apache.commons.mail.Email email)
          Setup the comment e-mail
 
Methods inherited from class org.blojsom.plugin.velocity.StandaloneVelocityPlugin
mergeTemplate, setServletConfig, setVelocityProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRACKBACK_PLUGIN_EMAIL_TEMPLATE_TEXT

public static final java.lang.String TRACKBACK_PLUGIN_EMAIL_TEMPLATE_TEXT
Template for comment e-mails

See Also:
Constant Field Values

TRACKBACK_PLUGIN_EMAIL_TEMPLATE_HTML

public static final java.lang.String TRACKBACK_PLUGIN_EMAIL_TEMPLATE_HTML
See Also:
Constant Field Values

DEFAULT_TRACKBACK_PREFIX

public static final java.lang.String DEFAULT_TRACKBACK_PREFIX
Default prefix for trackback e-mail notification

See Also:
Constant Field Values

TRACKBACK_PREFIX_IP

public static final java.lang.String TRACKBACK_PREFIX_IP
Initialization parameter for e-mail prefix

See Also:
Constant Field Values

TRACKBACK_THROTTLE_MINUTES_IP

public static final java.lang.String TRACKBACK_THROTTLE_MINUTES_IP
Initialization parameter for the throttling of trackbacks from IP addresses

See Also:
Constant Field Values

TRACKBACK_DAYS_EXPIRATION_IP

public static final java.lang.String TRACKBACK_DAYS_EXPIRATION_IP
Initialization parameter for disabling trackbacks on entries after a certain number of days

See Also:
Constant Field Values

TRACKBACK_PARAM

public static final java.lang.String TRACKBACK_PARAM
Request parameter to indicate a trackback "tb"

See Also:
Constant Field Values

TRACKBACK_TITLE_PARAM

public static final java.lang.String TRACKBACK_TITLE_PARAM
Request parameter for the trackback "title"

See Also:
Constant Field Values

TRACKBACK_EXCERPT_PARAM

public static final java.lang.String TRACKBACK_EXCERPT_PARAM
Request parameter for the trackback "excerpt"

See Also:
Constant Field Values

TRACKBACK_URL_PARAM

public static final java.lang.String TRACKBACK_URL_PARAM
Request parameter for the trackback "url"

See Also:
Constant Field Values

TRACKBACK_BLOG_NAME_PARAM

public static final java.lang.String TRACKBACK_BLOG_NAME_PARAM
Request parameter for the trackback "blog_name"

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_PLUGIN_ENABLED

public static final java.lang.String BLOJSOM_TRACKBACK_PLUGIN_ENABLED
Key under which the indicator this plugin is "live" will be placed (example: on the request for the JSPDispatcher)

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_RETURN_CODE

public static final java.lang.String BLOJSOM_TRACKBACK_RETURN_CODE
Key under which the trackback return code will be placed (example: on the request for the JSPDispatcher)

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_MESSAGE

public static final java.lang.String BLOJSOM_TRACKBACK_MESSAGE
Key under which the trackback error message will be placed (example: on the request for the JSPDispatcher)

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_PLUGIN_METADATA_IP

public static final java.lang.String BLOJSOM_TRACKBACK_PLUGIN_METADATA_IP
IP address meta-data

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_PLUGIN_BLOG_ENTRY

public static final java.lang.String BLOJSOM_TRACKBACK_PLUGIN_BLOG_ENTRY
Key under which the blog entry will be placed for merging the trackback e-mail

See Also:
Constant Field Values

BLOJSOM_TRACKBACK_PLUGIN_TRACKBACK

public static final java.lang.String BLOJSOM_TRACKBACK_PLUGIN_TRACKBACK
Key under which the blog comment will be placed for merging the trackback e-mail

See Also:
Constant Field Values

BLOJSOM_PLUGIN_TRACKBACK_METADATA

public static final java.lang.String BLOJSOM_PLUGIN_TRACKBACK_METADATA
See Also:
Constant Field Values

BLOJSOM_PLUGIN_TRACKBACK_METADATA_DESTROY

public static final java.lang.String BLOJSOM_PLUGIN_TRACKBACK_METADATA_DESTROY
See Also:
Constant Field Values
Constructor Detail

TrackbackPlugin

public TrackbackPlugin()
Default constructor

Method Detail

setEventBroadcaster

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

Parameters:
eventBroadcaster - EventBroadcaster

setFetcher

public void setFetcher(Fetcher fetcher)
Set the Fetcher

Parameters:
fetcher - Fetcher

init

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

Specified by:
init in interface Plugin
Overrides:
init in class StandaloneVelocityPlugin
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

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

setupEmail

protected void setupEmail(Blog blog,
                          Entry entry,
                          org.apache.commons.mail.Email email)
                   throws org.apache.commons.mail.EmailException
Setup the comment e-mail

Parameters:
blog - Blog information
entry - Entry
email - Email message
Throws:
org.apache.commons.mail.EmailException - If there is an error preparing the e-mail message

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