Hi Claus, How do I provide input for the 2.18 release notes?
Best regards Stephan -----Original Message----- From: Claus Ibsen [mailto:claus.ib...@gmail.com] Sent: Dienstag, 19. Juli 2016 11:56 To: dev <dev@camel.apache.org> Subject: Re: [DISCUSS] Attachment Headers Hi Sounds good. Javadoc is good for documenting this kind of APIs. Some details on the 2.18 release note would be good. And good idea with the [HEADS UP]. When we get rid of the wiki documentation and document from the source with the ascii doc which we also tie to a new website, then its a good place to start overhauling and improving our documentation on the online Camel website. On Mon, Jul 18, 2016 at 2:51 PM, Siano, Stephan <stephan.si...@sap.com> wrote: > Hi Claus, > > Thank you for your feedback. I have polished the code a little in order to be > submitted (added support for multi-value headers in the Attachment interface > and default implementation, added Javadoc, added tests, added support in the > camel-jetty9). > > I am currently in the process of running the tests. What else needs to be > done besides committing the change itself. Update some architecture Wiki (I > couldn't find anything about attachments, though)? The Javadoc should be > updated with the commit itself. > > I guess it might be a good idea to write a heads up mail to this list. > Anything else I have forgotten? > > Best regards > Stephan > > -----Original Message----- > From: Claus Ibsen [mailto:claus.ib...@gmail.com] > Sent: Freitag, 15. Juli 2016 12:14 > To: dev <dev@camel.apache.org> > Subject: Re: [DISCUSS] Attachment Headers > > Hi > > Thanks for bringing this up to attention. > I read your proposals and very good with the pros/cons of them. > > Yeah I also think its better to go with #3 so we get a better solution > for this which we carry forward for Camel 3, and have @deprecated the > old api on 2.x. > > +1 for option #3. > > > > > On Mon, Jul 11, 2016 at 3:31 PM, Siano, Stephan <stephan.si...@sap.com> wrote: >> Hi, >> >> Unfortunately I have received no feedback about this so far. >> >> If nobody objects I will go on with the implementation for option 3 and >> check that into the master branch sometime next week. >> >> If anybody here has doubts about this please speak up! >> >> Best regards >> Stephan >> >> -----Original Message----- >> From: Franz Paul Forsthofer [mailto:emc2...@googlemail.com] >> Sent: Donnerstag, 7. Juli 2016 14:40 >> To: dev@camel.apache.org >> Subject: [DISCUSS] Attachment Headers >> >> Hello, >> >> In https://issues.apache.org/jira/browse/CAMEL-9880 Stephan proposes an >> improvement for the attachment concept in Camel. >> He introduces headers for attachments. Currently an attachment is >> represented in Camel by a DataHandler; in the Camel >> Message you have methods like >> >> >> DataHandler getAttachment(String id); >> >> Map<String, DataHandler> getAttachments(); >> >> void addAttachment(String id, DataHandler content); >> >> void setAttachments(Map<String, DataHandler> attachments); >> >> >> These methods do not cover attachment specific headers; the DataHandler >> object contains only the body, the name, >> and mime type of the attachment. >> >> >> I see currently three use cases for attachment headers. >> >> 1. SOAP messages sent to Camel via CXF can contain attachments with >> headers. >> Currently these attachment headers get lost when the CXF Message is >> transformed to the Camel Message. >> >> >> 2. Mime Multipart Data Type Formatter >> The Mime Multipart Data Type Formatter ( >> http://camel.apache.org/mime-multipart.htm) converts a Mime Multipart >> document >> into a Camel message with attachments. The first part of the multipart >> document is transformed to the message body, the other >> parts are transformed to DataHandler instances. The headers of the parts >> currently get lost during this transformation. >> >> Example of a multipart message from https://tools.ietf.org/html/rfc2387: >> >> Content-Type: Multipart/Related; boundary=example-1 >> start="<950120.a...@xison.com>"; >> type="Application/X-FixedRecord" >> start-info="-o ps" >> >> --example-1 >> Content-Type: Application/X-FixedRecord >> Content-ID: <950120.a...@xison.com> >> >> 25 >> 10 >> 34 >> 10 >> 25 >> 21 >> 26 >> 10 >> --example-1 >> >> Content-Type: Application/octet-stream >> Content-Description: The fixed length records >> Content-Transfer-Encoding: base64 >> Content-ID: <950120.a...@xison.com> >> >> >> T2xkIE1hY0RvbmFsZCBoYWQgYSBmYXJtCkUgSS >> BFIEkgTwpBbmQgb24gaGlzIGZhcm0gaGUgaGFk >> IHNvbWUgZHVja3MKRSBJIEUgSSBPCldpdGggYS >> BxdWFjayBxdWFjayBoZXJlLAphIHF1YWNrIHF1 >> YWNrIHRoZXJlLApldmVyeSB3aGVyZSBhIHF1YW >> NrIHF1YWNrCkUgSSBFIEkgTwo= >> >> --example-1-- >> >> >> The header “Content-Description: The fixed length records” gets lost if the >> example Multipart message is transformed to a Camel Message. >> >> >> 3. An e-Mail can be a Multipart MIME message which contains parts with >> headers, example from http://www.oreilly.com/openbook/mh/mulmes.htm: >> >> >> From: Laura Rios <la...@oara.sf.ca.us> >> To: st...@ntecom.za >> Subject: Sara is two! >> Mime-Version: 1.0 >> Content-Type: multipart/mixed; boundary="Snip snip snip" >> >> --Snip snip snip >> Content-Type: text/enriched; charset="us-ascii" >> >> >> Hi, Steve. Sara had her second birthday yesterday. Can you believe it? >> She is so <bold>big</bold>! Now if we can just live through the >> "terrible twos" for a year, <italic>sigh</italic>. >> >> Here are a few words from her. I've also scanned in a picture of her >> party. Tell your boss thanks for letting us keep in touch by email. >> >> Laura >> >> --Snip snip snip >> Content-type: audio/basic >> Content-transfer-encoding: base64 >> Content-description: Sara says "I love you, Steve" (awww) >> >> /Xr++/hoX2lqeXt8d/7z8/D5+PLw7/b+9fD09319/vz5f3j//Pz9fHp7fvrs9Wz/eH59d >> omitted... >> /////////////////y8= >> >> --Snip snip snip >> >> Content-type: image/gif >> Content-transfer-encoding: base64 >> Content-description: Cutting the cake, sort of >> >> R0lGODdhQAHIAKMAAAAAAP+2bQAAACQAAAAASEgAAAAkSEgkJG0kJJEkAABIkZFIJCRttrZt >> omitted... >> l7Vry4B9aM+yKjifMosAADs= >> >> >> --Snip snip snip-- >> >> >> >> This example mail message is transformed by the Camel mail component to a >> Camel message, >> however the attachment headers “Content-description: Sara says "I love you, >> Steve" (awww)” and “Content-description: Cutting the cake, sort of” get >> lost. >> >> >> These use cases show that attachment headers would bring a valuable >> improvement for Camel. Therefore I think the >> improvement proposed in https://issues.apache.org/jira/browse/CAMEL-9880 >> should be added to the Camel 2.18. >> From the proposed solutions in >> https://issues.apache.org/jira/browse/CAMEL-9880, I prefer the third >> solution >> which introduces a new interface “Attachment” and methods in the Camel >> Message class: >> >> >> public interface Attachment { >> DataHandler getDataHandler(); >> >> String getHeader(String name); >> >> Collection<String> getHeaderNames(); >> >> Map<String, String> getHeaders(); >> } >> >> >> Methods in the Camel Message >> >> >> Attachment getAttachmentObject(String id); >> >> void addAttachmentObject(String id, Attachment content); >> >> Map<String, Attachment> getAttachmentObjects(); >> >> void setAttachmentObjects(Map<String, Attachment> attachments); >> >> >> >> Due to compatibility reasons we still have to support the “old” attachment >> methods in the Camel Message which could be marked as deprecated. >> >> >> Best Regards Franz > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2