com.atlassian.jira.service.util.handler
Class CreateOrCommentHandler

java.lang.Object
  extended by com.atlassian.jira.service.util.handler.AbstractMessageHandler
      extended by com.atlassian.jira.service.util.handler.CreateOrCommentHandler
All Implemented Interfaces:
MessageHandler

public class CreateOrCommentHandler
extends AbstractMessageHandler

A message handler to create a new issue, or add a comment to an existing issue, from an incoming message. If the subject contains a project key the message is added as a comment to that issue. If no project key is found, a new issue is created in the default project.


Field Summary
 String issueType
          Default type for new issues.
 String projectKey
          Default project where new issues are created.
 String stripquotes
          If set (to anything except "false"), quoted text is removed from comments.
 
Fields inherited from class com.atlassian.jira.service.util.handler.AbstractMessageHandler
applicationProperties, bulk, catchEmail, commentManager, CONTENT_TYPE_TEXT, createUsers, deleteEmail, HEADER_IN_REPLY_TO, HEADER_MESSAGE_ID, issueFactory, KEY_BULK, KEY_CATCHEMAIL, KEY_CREATEUSERS, KEY_FINGER_PRINT, KEY_NOTIFYUSERS, KEY_REPORTER, notifyUsers, params, reporteruserName
 
Constructor Summary
CreateOrCommentHandler()
           
 
Method Summary
protected  boolean attachHtmlParts(javax.mail.Part part)
          Comments never wish to keep html parts that are not attachments as they extract the plain text part and use that as the content.
protected  boolean attachPlainTextParts(javax.mail.Part part)
          Plain text parts must be kept if they arent empty.
 boolean handleMessage(javax.mail.Message message)
          Perform the specific work of this handler for the given message.
 void init(Map params)
          Will be called before any messages are to be handled.
 
Methods inherited from class com.atlassian.jira.service.util.handler.AbstractMessageHandler
addError, addError, addErrorAndReturnFalse, addErrorAndReturnFalse, attachAttachmentsParts, attachInlineParts, attachMessagePart, attachRelatedPart, canHandleMessage, createAttachmentsForMessage, createAttachmentWithPart, createUserForReporter, findUserByEmail, findUserByUsername, getAssociatedIssue, getErrorHandler, getFileFromPart, getFilenameForAttachment, getI18nBean, getPrecedenceHeader, getReporter, recordMessageId, renameFileIfInvalid, setErrorHandler, shouldAttach
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

projectKey

public String projectKey
Default project where new issues are created.


issueType

public String issueType
Default type for new issues.


stripquotes

public String stripquotes
If set (to anything except "false"), quoted text is removed from comments.

Constructor Detail

CreateOrCommentHandler

public CreateOrCommentHandler()
Method Detail

init

public void init(Map params)
Description copied from interface: MessageHandler
Will be called before any messages are to be handled.

Specified by:
init in interface MessageHandler
Overrides:
init in class AbstractMessageHandler
Parameters:
params - configuration.

handleMessage

public boolean handleMessage(javax.mail.Message message)
                      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.
Returns:
true if the message is to be deleted from the source.
Throws:
javax.mail.MessagingException - if anything went wrong.

attachPlainTextParts

protected boolean attachPlainTextParts(javax.mail.Part part)
                                throws javax.mail.MessagingException,
                                       IOException
Plain text parts must be kept if they arent empty.

Specified by:
attachPlainTextParts in class AbstractMessageHandler
Parameters:
part - The plain text part being tested.
Returns:
Returns true to attach false otherwise.
Throws:
javax.mail.MessagingException - if javamail complains
IOException - if javamail complains

attachHtmlParts

protected boolean attachHtmlParts(javax.mail.Part part)
                           throws javax.mail.MessagingException,
                                  IOException
Comments never wish to keep html parts that are not attachments as they extract the plain text part and use that as the content. This method therefore is hard wired to always return false.

Specified by:
attachHtmlParts in class AbstractMessageHandler
Parameters:
part - The html part being processed
Returns:
Always return false.
Throws:
javax.mail.MessagingException
IOException


Copyright © 2002-2008 Atlassian. All Rights Reserved.