[QFJ-667] for a custom data dictionary, some fields are generated twice, and so compilation fails with XY.java: get(quickfix.field.Currency) is already defined in quickfix.fix44.XY Created: 03/Feb/12 Updated: 03/Feb/12 Resolved: 03/Feb/12 |
|
Status: | Closed |
Project: | QuickFIX/J |
Component/s: | Message Generation |
Affects Version/s: | 1.5.2 |
Fix Version/s: | None |
Type: | Bug | Priority: | Default |
Reporter: | Heiko Seebach | Assignee: | Christoph John |
Resolution: | Not a bug | Votes: | 0 |
Labels: | generation | ||
Environment: |
I tried it under Linux (Ubuntu 11.10) AND Windows 7 with Sun-JDK6,and only under Linux with OpenJDK6 and OpenJDK7 |
Description |
Steps to reproduce: [javac] Compiling 1924 source files to /home/hk/ws/e/quickfix-1.5.2/core/target/classes/main The problem is, that these methods are really generated twice. I've no idea how this might happen. Any ideas? |
Comments |
Comment by Christoph John [ 03/Feb/12 ] |
Hi Heiko, actually, this could only be an issue with the custom data dictionary since it is working with the original one. Fields can get created multiple times for a message if they are listed multiple times on the same message. This applies to the custom data dictionary. E.g. the Currency is defined on Advertisement (standard) and then also on the Instrument component (custom usage). Since the Instrument component is used on the Advertisement, the Currency field will appear twice which is not allowed. Please bear in mind that components are not the same as repeating groups (in which a field could appear multiple times). The fields which are defined multiple times are: Currency, RoundLot, FXCMPegFluctuatePts and PrevClosePx. They have been added to the components Instrument or PegInstructions. PrevClosePx was defined multiple times on the NewOrderSingle itself. Just as a note for the future: maybe first ask the people who have created the data dictionary. Cheers, |
Comment by Heiko Seebach [ 03/Feb/12 ] |
Hi Christoph, thank you very much for this analysis. Thank you very much, I'll contact FXCM then, Heiko Seebach |
Comment by Christoph John [ 03/Feb/12 ] |
Hi Heiko, |
Comment by Christoph John [ 03/Feb/12 ] |
BTW, it is a different topic if you just use the data dictionary for incoming message validation or if you really create the message classes from the data dictionary. For the first case, the error will probably go undetected for a longer time. |