|
From: Toli K. <to...@ma...> - 2007-06-27 21:06:45
|
Stacy, I think you are seeing problems because you are using a general quickfix.Message instead of a specific fix-versioned message such as quickfix.fix44.ExecutionReport The reason you are not seeing message.get() functions is that they don't exist in a general quickfix.Message but do exist (with only specific parameter types) in a more concrete quickfix.fix4x.<MessageType> classes. > How come noMDEntries is defined as NoMDEntries but group is defined as > quickfix.fix42.MarketDataSnapshotFullRefresh.NoMDEntries? Does it need to be > this way? The first is NoMDEntries field that tells you the # of groups. the 2nd one is a concrete fix-versioned type for the group itself. So to answer your question - yes, you need to be more specific with your types if you want to just use get() methods. We solved that problem by creating a general -purpose fix-extractor methods (that work both on groups and regular messages) and just rely on the incoming type to get the right value out. Marketcetera Trading Platform is open-sourced and GPL'd, so depending on what you are doing with your code you may just be able to use the marketcetera-core jar file to reuse our code "for free": http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/core/src/main/java/org/marketcetera/quickfix/FIXValueExtractor.java > I was hoping I could somehow avoid iteration to see which PartId I care > about, but it doesn't seem like that is possible. I'm afraid not - you have to loop through them, i don't think there's a defined pattern to how the groups are arranged. -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. > |