|
From: Lev G. <lev...@db...> - 2007-07-18 07:49:38
|
Hello all.
Perhaps this is a bug, or perhaps it's me who's not understanding
something.
Suppose I have the following xml message definition
<message name="FirmPrice" msgtype="UN020" msgcat="app">
<field name="Symbol" required="Y"/>
<field name="Size" required="Y"/>
<group name="NoPriceEntries" required="Y">
<component name="PriceComponent" required="Y"/>
</group>
<group name="NoLegEntries" required="N">
<component name="LegComponent" required="N"/>
</group>
</message>
...
<component name="LegComponent">
<field name="Size" required="Y"/>
<field name="Symbol" required="Y"/>
<group name="NoPriceEntries" required="Y">
<component name="PriceComponent" required="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.
|