You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Tomas Restrepo (JIRA)" <qp...@incubator.apache.org> on 2007/04/15 22:34:15 UTC

[jira] Created: (QPID-452) Improve Message Classes and Message Creation APIs

Improve Message Classes and Message Creation APIs
-------------------------------------------------

                 Key: QPID-452
                 URL: https://issues.apache.org/jira/browse/QPID-452
             Project: Qpid
          Issue Type: Improvement
          Components: Dot Net Client
    Affects Versions: M2
            Reporter: Tomas Restrepo
            Priority: Minor


Improve the message classes in Qpid and the associated message creation APIs to enable useful use cases:

1- Create a new overload of the CreateMessage() to the AMQSession/AmqChannel classes that takes the MIME type of the message to create. It would simply pass that value to the underlying message factory registry to create an instance of the proper message class.

2- Add a new method to the Session/IChannel interfaces (and corresponding
implementations) to register a new message factory to a new MIME type (maybe add one to unregister a factory as well?)

3- Preserve the MIME type used to create the message through the message factory registry. Right now, the mime type requested is passed to the registry which uses the associated factory. However, the mime type requestes is not passed on to the factory and instead each message class initializes the MimeType property to a default value. So, for example, if you create a message with the type "text/xml", the resulting message object will still return "text/plain" from getMimeType()

4- Give all message classes (or at least the basics) the ability to read or replace the underlying byte buffer representing the body of the message through methods in Message/IMesssage or friends.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-452) Improve Message Classes and Message Creation APIs

Posted by "Tomas Restrepo (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomas Restrepo updated QPID-452:
--------------------------------

    Attachment: QPID-452.diff

Patch improves message creation API. Covers points 1 and 3 and fixes a number of problems in the public APIs.

(4) is not implemented, but still possible to do if casting to AbstractQmsMessage.
(2) Is not possible without large refactoring to decouple message factories from returning AbstractQmsMessage instance instead of IMessage, so left for a further refactoring. However, having the other functionality in the patch is enough to make it usable as is.


> Improve Message Classes and Message Creation APIs
> -------------------------------------------------
>
>                 Key: QPID-452
>                 URL: https://issues.apache.org/jira/browse/QPID-452
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Dot Net Client
>    Affects Versions: M2
>            Reporter: Tomas Restrepo
>            Priority: Minor
>         Attachments: QPID-452.diff
>
>
> Improve the message classes in Qpid and the associated message creation APIs to enable useful use cases:
> 1- Create a new overload of the CreateMessage() to the AMQSession/AmqChannel classes that takes the MIME type of the message to create. It would simply pass that value to the underlying message factory registry to create an instance of the proper message class.
> 2- Add a new method to the Session/IChannel interfaces (and corresponding
> implementations) to register a new message factory to a new MIME type (maybe add one to unregister a factory as well?)
> 3- Preserve the MIME type used to create the message through the message factory registry. Right now, the mime type requested is passed to the registry which uses the associated factory. However, the mime type requestes is not passed on to the factory and instead each message class initializes the MimeType property to a default value. So, for example, if you create a message with the type "text/xml", the resulting message object will still return "text/plain" from getMimeType()
> 4- Give all message classes (or at least the basics) the ability to read or replace the underlying byte buffer representing the body of the message through methods in Message/IMesssage or friends.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-452) Improve Message Classes and Message Creation APIs

Posted by "Tomas Restrepo (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tomas Restrepo resolved QPID-452.
---------------------------------

       Resolution: Fixed
    Fix Version/s: M2
         Assignee: Tomas Restrepo

Patch included in revision 539178

> Improve Message Classes and Message Creation APIs
> -------------------------------------------------
>
>                 Key: QPID-452
>                 URL: https://issues.apache.org/jira/browse/QPID-452
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Dot Net Client
>    Affects Versions: M2
>            Reporter: Tomas Restrepo
>         Assigned To: Tomas Restrepo
>            Priority: Minor
>             Fix For: M2
>
>         Attachments: QPID-452.diff
>
>
> Improve the message classes in Qpid and the associated message creation APIs to enable useful use cases:
> 1- Create a new overload of the CreateMessage() to the AMQSession/AmqChannel classes that takes the MIME type of the message to create. It would simply pass that value to the underlying message factory registry to create an instance of the proper message class.
> 2- Add a new method to the Session/IChannel interfaces (and corresponding
> implementations) to register a new message factory to a new MIME type (maybe add one to unregister a factory as well?)
> 3- Preserve the MIME type used to create the message through the message factory registry. Right now, the mime type requested is passed to the registry which uses the associated factory. However, the mime type requestes is not passed on to the factory and instead each message class initializes the MimeType property to a default value. So, for example, if you create a message with the type "text/xml", the resulting message object will still return "text/plain" from getMimeType()
> 4- Give all message classes (or at least the basics) the ability to read or replace the underlying byte buffer representing the body of the message through methods in Message/IMesssage or friends.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.