Search in sources :

Example 11 with NoSuchMimePartException

use of com.axway.ats.action.objects.model.NoSuchMimePartException in project ats-framework by Axway.

the class MimePackage method getPartHeaderValues.

/**
     * Get all header values from a specified MIME part
     *
     * @param headerName
     * @param partNum
     * @return
     * @throws PackageException
     */
@PublicAtsApi
public String[] getPartHeaderValues(String headerName, int partNum) throws PackageException {
    try {
        String[] headers;
        if (partNum >= parts.size()) {
            throw new NoSuchMimePartException("No MIME part at position '" + partNum + "'");
        }
        MimePart part = parts.get(partNum);
        headers = part.getHeader(headerName);
        if ((headers != null) && (headers.length > 0)) {
            return headers;
        } else {
            throw new NoSuchHeaderException(headerName, partNum);
        }
    } catch (MessagingException me) {
        throw new PackageException(me);
    }
}
Also used : MessagingException(javax.mail.MessagingException) NoSuchMimePartException(com.axway.ats.action.objects.model.NoSuchMimePartException) MimePart(javax.mail.internet.MimePart) NoSuchMimePackageException(com.axway.ats.action.objects.model.NoSuchMimePackageException) PackageException(com.axway.ats.action.objects.model.PackageException) NoSuchHeaderException(com.axway.ats.action.objects.model.NoSuchHeaderException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 12 with NoSuchMimePartException

use of com.axway.ats.action.objects.model.NoSuchMimePartException in project ats-framework by Axway.

the class MimePackage method getAttachmentContentType.

/**
     * Get the attachment content type
     *
     * @param partIndex
     * @return
     * @throws PackageException
     */
@PublicAtsApi
public String getAttachmentContentType(int partIndex) throws PackageException {
    // first check if there is part at this position at all
    if (partIndex >= attachmentPartIndices.size()) {
        throw new NoSuchMimePartException("No attachment at position '" + partIndex + "'");
    }
    try {
        MimePart part = getPart(attachmentPartIndices.get(partIndex));
        // get the content type header
        ContentType contentType = new ContentType(part.getContentType());
        return contentType.getBaseType();
    } catch (MessagingException me) {
        throw new PackageException(me);
    }
}
Also used : ContentType(javax.mail.internet.ContentType) MessagingException(javax.mail.MessagingException) NoSuchMimePartException(com.axway.ats.action.objects.model.NoSuchMimePartException) MimePart(javax.mail.internet.MimePart) NoSuchMimePackageException(com.axway.ats.action.objects.model.NoSuchMimePackageException) PackageException(com.axway.ats.action.objects.model.PackageException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 13 with NoSuchMimePartException

use of com.axway.ats.action.objects.model.NoSuchMimePartException in project ats-framework by Axway.

the class Test_MimePackage method setBody_textPart_only.

@Test
public void setBody_textPart_only() throws Exception {
    // create a new message. It comes by default with TEXT part only(no multiparts)
    MimePackage newMailMessage = new MimePackage();
    // verify there are no any parts yet
    try {
        newMailMessage.getPart(0, false);
        assertTrue("There are some parts, while we expect to have none", false);
    } catch (NoSuchMimePartException e) {
    }
    // set the body, effectively the only TEXT part
    newMailMessage.setBody("text plain body");
    MimePart textPart = newMailMessage.getPart(0, false);
    assertEquals(textPart.getContent(), "text plain body");
    assertEquals(textPart.getContentType(), "text/plain; charset=us-ascii");
    // verify there are no more parts
    try {
        newMailMessage.getPart(1, false);
        assertTrue("There is more than 1 part, while we expect to have just 1", false);
    } catch (NoSuchMimePartException e) {
    }
}
Also used : MimePackage(com.axway.ats.action.objects.MimePackage) NoSuchMimePartException(com.axway.ats.action.objects.model.NoSuchMimePartException) MimePart(javax.mail.internet.MimePart) BaseTest(com.axway.ats.action.BaseTest) Test(org.junit.Test)

Example 14 with NoSuchMimePartException

use of com.axway.ats.action.objects.model.NoSuchMimePartException in project ats-framework by Axway.

the class Test_MimePackage method setBody_multiParts_with_textPart_only.

@Test
public void setBody_multiParts_with_textPart_only() throws Exception {
    // create a new message and add TEXT part to it
    MimePackage newMailMessage = new MimePackage();
    newMailMessage.addPart("text plain body", MimePackage.PART_TYPE_TEXT_PLAIN);
    MimePart textPart = newMailMessage.getPart(0, false);
    assertEquals(textPart.getContent(), "text plain body");
    assertEquals(textPart.getContentType(), "text/plain; charset=us-ascii");
    // modify the only part
    newMailMessage.setBody("new body");
    // verify the modifications
    MimePart newTextPart = newMailMessage.getPart(0, false);
    assertEquals(newTextPart.getContent(), "new body");
    assertEquals(newTextPart.getContentType(), "text/plain; charset=us-ascii");
    // verify there are no more parts
    try {
        newMailMessage.getPart(1, false);
        assertTrue("There is more than 1 part, while we expect to have just 1", false);
    } catch (NoSuchMimePartException e) {
    }
}
Also used : MimePackage(com.axway.ats.action.objects.MimePackage) MimePart(javax.mail.internet.MimePart) NoSuchMimePartException(com.axway.ats.action.objects.model.NoSuchMimePartException) BaseTest(com.axway.ats.action.BaseTest) Test(org.junit.Test)

Aggregations

NoSuchMimePartException (com.axway.ats.action.objects.model.NoSuchMimePartException)14 MimePart (javax.mail.internet.MimePart)12 PackageException (com.axway.ats.action.objects.model.PackageException)9 NoSuchMimePackageException (com.axway.ats.action.objects.model.NoSuchMimePackageException)8 PublicAtsApi (com.axway.ats.common.PublicAtsApi)8 MessagingException (javax.mail.MessagingException)8 MimePackage (com.axway.ats.action.objects.MimePackage)5 Test (org.junit.Test)5 BaseTest (com.axway.ats.action.BaseTest)4 ContentType (javax.mail.internet.ContentType)4 NoSuchHeaderException (com.axway.ats.action.objects.model.NoSuchHeaderException)2 BaseTest (com.axway.ats.rbv.BaseTest)1 ImapMetaData (com.axway.ats.rbv.imap.ImapMetaData)1 RbvException (com.axway.ats.rbv.model.RbvException)1 InputStream (java.io.InputStream)1