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);
}
}
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);
}
}
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) {
}
}
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) {
}
}
Aggregations