|
From: stacyann_1 <sta...@gs...> - 2007-06-28 14:37:47
|
Thanks Toli -
I'm now getting an exception, so maybe I still don't completely grasp this.
Here is a snippet:
NoPartyIDs noPartyIDs = new NoPartyIDs();
quickFixMessage_.getField(noPartyIDs);
quickfix.fix44.ExecutionReport.NoPartyIDs group =
new quickfix.fix44.ExecutionReport.NoPartyIDs();
int i=1;
boolean traderFound = false;
PartyID partyId = new PartyID();
PartyRole partyRole = new PartyRole();
while (i <= noPartyIDs.getValue() && !traderFound) {
quickFixMessage_.getGroup(i, group);
group.get(partyId);
group.get(partyRole);
if (partyRole.getValue() == 1) {
traderFound = true;
}
}
The exception is
quickfix.FieldNotFound: 453, index=1
at quickfix.FieldMap.getGroup(FieldMap.java:621)
at the getGroup line.. I must still not be doing something right.
Thanks,Stacy
toli wrote:
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
> 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.
>>
>
> -------------------------------------------------------------------------
> 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
>
>
--
View this message in context: http://www.nabble.com/Multiple-PartyId%27s-tf3990055.html#a11344136
Sent from the QuickFIX/J mailing list archive at Nabble.com.
|