Search in sources :

Example 1 with Header

use of quickfix.Message.Header in project camel by apache.

the class FixMessageRouter method getDestinationSessionID.

private SessionID getDestinationSessionID(Message message) {
    Header header = message.getHeader();
    String fixVersion = getField(header, BeginString.FIELD);
    String destinationCompId = getField(header, DeliverToCompID.FIELD);
    if (destinationCompId != null) {
        String destinationSubId = getField(header, DeliverToSubID.FIELD);
        String destinationLocationId = getField(header, DeliverToLocationID.FIELD);
        header.removeField(DeliverToCompID.FIELD);
        header.removeField(DeliverToSubID.FIELD);
        header.removeField(DeliverToLocationID.FIELD);
        String gatewayCompId = getField(header, TargetCompID.FIELD);
        String gatewaySubId = getField(header, TargetSubID.FIELD);
        String gatewayLocationId = getField(header, TargetLocationID.FIELD);
        header.setString(OnBehalfOfCompID.FIELD, getField(header, SenderCompID.FIELD));
        if (header.isSetField(SenderSubID.FIELD)) {
            header.setString(OnBehalfOfSubID.FIELD, getField(header, SenderSubID.FIELD));
        }
        if (header.isSetField(SenderLocationID.FIELD)) {
            header.setString(OnBehalfOfLocationID.FIELD, getField(header, SenderLocationID.FIELD));
        }
        return new SessionID(fixVersion, gatewayCompId, gatewaySubId, gatewayLocationId, destinationCompId, destinationSubId, destinationLocationId, null);
    }
    return null;
}
Also used : Header(quickfix.Message.Header) BeginString(quickfix.field.BeginString) SessionID(quickfix.SessionID)

Aggregations

Header (quickfix.Message.Header)1 SessionID (quickfix.SessionID)1 BeginString (quickfix.field.BeginString)1