com.randomcoder.article.moderation
Class AkismetModerator

java.lang.Object
  extended by com.randomcoder.article.moderation.AkismetModerator
All Implemented Interfaces:
Moderator, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean

public class AkismetModerator
extends Object
implements Moderator, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean

Moderator implementation which queries Akismet.

 Copyright (c) 2007, Craig Condit. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
 
   * Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright notice,
     this list of conditions and the following disclaimer in the documentation
     and/or other materials provided with the distribution.
     
 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGE.
 


Constructor Summary
AkismetModerator()
           
 
Method Summary
 void afterPropertiesSet()
          Initializes the Akismet filter.
 void destroy()
          Shuts down the Akismet filter.
protected  String getCommentCheckUrl()
          Gets the Akismet URL to use for comment checking.
protected  String getSubmitHamUrl()
          Gets the Akismet URL to use for ham submission.
protected  String getSubmitSpamUrl()
          Gets the Akismet URL to use for spam submission.
protected  String getVerifyKeyUrl()
          Gets the Akismet URL to use for account verification.
 void markAsHam(Comment comment)
          Marks the given comment as ham (non-spam).
 void markAsSpam(Comment comment)
          Marks the given comment as spam.
 void setApiKey(String apiKey)
          Sets the Akismet API key to use.
 void setApplicationInformation(ApplicationInformation applicationInformation)
          Sets the application information for this client.
 void setSiteUrl(String siteUrl)
          Sets the base url of the client site.
 boolean validate(Comment comment)
          Validates the given comment as spam or ham.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AkismetModerator

public AkismetModerator()
Method Detail

setApiKey

public void setApiKey(String apiKey)
Sets the Akismet API key to use.

Parameters:
apiKey - API key

setSiteUrl

public void setSiteUrl(String siteUrl)
Sets the base url of the client site.

Parameters:
siteUrl - site url

setApplicationInformation

public void setApplicationInformation(ApplicationInformation applicationInformation)
Sets the application information for this client.

Parameters:
applicationInformation - application information

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Initializes the Akismet filter.

Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
Exception - if an error occurs

getVerifyKeyUrl

protected String getVerifyKeyUrl()
Gets the Akismet URL to use for account verification.

Returns:
verification url

getCommentCheckUrl

protected String getCommentCheckUrl()
Gets the Akismet URL to use for comment checking.

Returns:
comment check url

getSubmitSpamUrl

protected String getSubmitSpamUrl()
Gets the Akismet URL to use for spam submission.

Returns:
submit spam url

getSubmitHamUrl

protected String getSubmitHamUrl()
Gets the Akismet URL to use for ham submission.

Returns:
submit ham url

destroy

public void destroy()
             throws Exception
Shuts down the Akismet filter.

Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Throws:
Exception - if an error occurs

validate

public boolean validate(Comment comment)
                 throws ModerationException
Description copied from interface: Moderator
Validates the given comment as spam or ham.

Specified by:
validate in interface Moderator
Parameters:
comment - comment to validate
Returns:
true if comment is legitimate, false if comment is spam
Throws:
ModerationException - if operation could not be performed

markAsHam

public void markAsHam(Comment comment)
               throws ModerationException
Description copied from interface: Moderator
Marks the given comment as ham (non-spam).

Specified by:
markAsHam in interface Moderator
Parameters:
comment - comment to mark as ham
Throws:
ModerationException - if operation could not be performed

markAsSpam

public void markAsSpam(Comment comment)
                throws ModerationException
Description copied from interface: Moderator
Marks the given comment as spam.

Specified by:
markAsSpam in interface Moderator
Parameters:
comment - comment to mark as spam
Throws:
ModerationException - if operation could not be performed


Copyright © 2006-2008 Craig Condit. All Rights Reserved.