|
From: Lev G. <lev...@db...> - 2007-07-18 14:27:25
|
Oren, =20 Hmm. I don't see anything illegal with this usage of NoPriceEntries field: I use it in the main body of the message. That's OK. Also one of its subcomponents try to use it for their own needs.That's OK as well. What is wrong with that? I am indeed having this field appear multiple times, but it appears in different "scopes", so to speak - under the global (or message) "scope", and then under the individual subcomponent "scope". =20 =20 Lev Grevnin Rates IT _____ =20 From: qui...@li... [mailto:qui...@li...] On Behalf Of or...@qu... Sent: Wednesday, July 18, 2007 6:16 PM To: qui...@li... Subject: Re: [Quickfixj-users] a bug in quickfix generation code =20 Why should it be? You cannot have a field appear more than once. You are forcing the NoPriceEntries field to appear multiple times. Why are the Price and Leg components not placed into the same group? =20 --oren =20 On Jul 18, 2007, at 2:49 AM, Lev Grevnin wrote: QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hello all.=20 Perhaps this is a bug, or perhaps it=12s me who=12s not understanding something. Suppose I have the following xml message definition <message name=3D"FirmPrice" msgtype=3D"UN020" msgcat=3D"app"> <field name=3D"Symbol" required=3D"Y"/> <field name=3D"Size" required=3D"Y"/> <group name=3D"NoPriceEntries" required=3D"Y"> <component name=3D"PriceComponent" required=3D"Y"/> </group> <group name=3D"NoLegEntries" required=3D"N"> <component name=3D"LegComponent" required=3D"N"/> </group> </message> ... <component name=3D"LegComponent"> <field name=3D"Size" required=3D"Y"/> <field name=3D"Symbol" required=3D"Y"/> <group name=3D"NoPriceEntries" required=3D"Y"> <component name=3D"PriceComponent" required=3D"Y"/> </group> </component> The message generation creates a MessageFactory.java which has the following snippet of code in it: if("UN020".equals(msgType)) { switch(correspondingFieldID) { case liquidity.quickfix.fields.NoPriceEntries.FIELD: return new liquidity.quickfix.messages.FirmPrice.NoPriceEntries(); case liquidity.quickfix.fields.NoLegEntries.FIELD: return new liquidity.quickfix.messages.FirmPrice.NoLegEntries(); case liquidity.quickfix.fields.NoPriceEntries.FIELD: return new liquidity.quickfix.messages.FirmPrice.NoLegEntries.NoPriceEntries(); } } This cannot compile, obviously, as it has a duplicate case label. So, it seems like the usage of a field in both, the enclosing message and the nested component is not handled properly by the generated code. Any ideas? Thanks much!! Lev Grevnin Rates IT Deutsche Bank --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/______________________________________ _________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users =20 --- This e-mail may contain confidential and/or privileged information. If you = are not the intended recipient (or have received this e-mail in error) plea= se notify the sender immediately and delete this e-mail. Any unauthorized c= opying, disclosure or distribution of the material in this e-mail is strict= ly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additio= nal EU corporate and regulatory disclosures. |