com.atlassian.jira.plugins.mail.handlers
Class CVSLogHandler

java.lang.Object
  extended by com.atlassian.jira.plugins.mail.handlers.AbstractMessageHandler
      extended by com.atlassian.jira.plugins.mail.handlers.CVSLogHandler
All Implemented Interfaces:
MessageHandler

public class CVSLogHandler
extends AbstractMessageHandler


Field Summary
 
Fields inherited from class com.atlassian.jira.plugins.mail.handlers.AbstractMessageHandler
applicationProperties, bulk, catchEmail, CONTENT_TYPE_TEXT, createUsers, deleteEmail, HEADER_IN_REPLY_TO, HEADER_MESSAGE_ID, KEY_BULK, KEY_CATCHEMAIL, KEY_CREATEUSERS, KEY_FINGER_PRINT, KEY_NOTIFYUSERS, KEY_REPORTER, messageUserProcessor, notifyUsers, params, reporteruserName, userManager, VALUE_BULK_DELETE, VALUE_BULK_FORWARD, VALUE_BULK_IGNORE, VALUE_FINGER_PRINT_ACCEPT, VALUE_FINGER_PRINT_FORWARD, VALUE_FINGER_PRINT_IGNORE
 
Constructor Summary
CVSLogHandler()
           
 
Method Summary
protected  boolean attachHtmlParts(javax.mail.Part part)
          Html parts are currently not attached, and simply ignored and lost.
protected  boolean attachPlainTextParts(javax.mail.Part part)
          Plain text parts are currently not attached, and simply ignored and lost.
 String getCommentArea(String messageBody)
          Get the actual comment text from a CVS log email.
 boolean handleMessage(javax.mail.Message message, MessageHandlerContext context)
          Perform the specific work of this handler for the given message.
protected  boolean hasUserPermissionToComment(Issue issue, com.atlassian.crowd.embedded.api.User reporter)
          Returns true if the specified user has permission to comment on given issue.
 
Methods inherited from class com.atlassian.jira.plugins.mail.handlers.AbstractMessageHandler
attachAttachmentsParts, attachInlineParts, attachMessagePart, attachRelatedPart, canHandleMessage, createAttachmentsForMessage, createAttachmentWithPart, createUserForReporter, getAssociatedIssue, getFileFromPart, getFilenameForAttachment, getI18nBean, getMessageUserProcessor, getPrecedenceHeader, getReporter, init, isAutoSubmitted, isDeliveryStatus, recordMessageId, renameFileIfInvalid, shouldAttach
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CVSLogHandler

public CVSLogHandler()
Method Detail

handleMessage

public boolean handleMessage(javax.mail.Message message,
                             MessageHandlerContext context)
                      throws javax.mail.MessagingException
Description copied from class: AbstractMessageHandler
Perform the specific work of this handler for the given message.

Specified by:
handleMessage in interface MessageHandler
Specified by:
handleMessage in class AbstractMessageHandler
Parameters:
message - the message to check for handling.
context - user-friendly message handler should utilize this interface to create issue, comments, users and provide feedback information about messages being processed and problems being encountered. While MessageHandler-s are run from UI (in TEST / dry-run mode) such invocations are not mutative (they do not create any JIRA entities) and information provided by the handler is displayed back to the user as a summary of the dry-run.
Returns:
true if the message is to be deleted from the source.
Throws:
javax.mail.MessagingException - if anything went wrong.

hasUserPermissionToComment

protected boolean hasUserPermissionToComment(Issue issue,
                                             com.atlassian.crowd.embedded.api.User reporter)
Returns true if the specified user has permission to comment on given issue.

Parameters:
issue - issue to comment on
reporter - commenting user
Returns:
true if permission granted, false otherwise

getCommentArea

public String getCommentArea(String messageBody)
Get the actual comment text from a CVS log email. This is done by reading through line by line, and parsing the comment body.

Parameters:
messageBody - message body
Returns:
comment from CVS log email

attachPlainTextParts

protected boolean attachPlainTextParts(javax.mail.Part part)
                                throws javax.mail.MessagingException,
                                       IOException
Plain text parts are currently not attached, and simply ignored and lost. This method always returns false.

Specified by:
attachPlainTextParts in class AbstractMessageHandler
Parameters:
part -
Returns:
Throws:
javax.mail.MessagingException - if javamail complains
IOException - if javamail complains

attachHtmlParts

protected boolean attachHtmlParts(javax.mail.Part part)
                           throws javax.mail.MessagingException,
                                  IOException
Html parts are currently not attached, and simply ignored and lost. This method always returns false.

Specified by:
attachHtmlParts in class AbstractMessageHandler
Parameters:
part -
Returns:
Throws:
javax.mail.MessagingException
IOException


Copyright © 2002-2012 Atlassian. All Rights Reserved.