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;
}
Aggregations