Here are some changes I made to Attachments implementation. (diffs attached)

*****************************************************************
AttachmentsImpl.java:
removed reference to Message object.
When Message gets SOAPPart it sets itself as a parent.

added orderedAttachments list that keeps local copy of attachments.
attachments HashMap now holds CID & Content-Location -> Part mappings

removed MultiPartRelatedInputStream local var, attachment references are
copied from there to local list
So that searches and serialization does not have to worry about 2 lists.

Added removeAttachmentPart(String reference) method.

Added addAttachmentPart(Part newPart) method.

fixed getAttachmentByReference to find new attachments

Added setRootPart(Part rootPart) used by Message class


*****************************************************************
Attachments.java:
Added addAttachmentPart, removeAttachmentPart, setRootPart method
definitions


*****************************************************************
AttachmentPart.java:
removed reference to Message object

made getActiviationDataHandler a public method. This does not mean that
Attachment support is required to build. But it is highly convenient for
clients to use.


*****************************************************************
SOAPPart.java:
moved reference to Message from parent Part class here, as private Message
msgObject;

Added get/setMessage() methods.

When String <--> byte[] conversion is done, made it use UTF-8 character set,
since this is what content type is hard coded to. Just a temp fix, until
proper character set support is added.


*****************************************************************
Part.java:
removed reference to Message object.

Added method to setContentId() of the Part. While this may not the optimal
way to manage attachments, it still should be present, since there are some
applications that require this.


*****************************************************************
MimeUtils.java:
changed createMP(...) method to take Collection of parts rather than a map.


*****************************************************************
Message.java:
Added ability to define alternate Attachments Implementation.

changed serialization to register self with SOAPPart, and add *new*
SOAPParts to Attachments for proper serialization.
*****************************************************************

-Taras

Attachment: AttachmentsImpl.diff
Description: Binary data

Attachment: AttachmentPart.diff
Description: Binary data

Attachment: Attachments.diff
Description: Binary data

Attachment: Message.diff
Description: Binary data

Attachment: MimeUtils.diff
Description: Binary data

Attachment: Part.diff
Description: Binary data

Attachment: SOAPPart.diff
Description: Binary data

Reply via email to