Skip to content

Commit 72b4cc6

Browse files
committed
Added replace order functionality
1 parent 44fc1ce commit 72b4cc6

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

quickfixj-examples/banzai/src/main/java/quickfix/examples/banzai/BanzaiApplication.java

+18-1
Original file line numberDiff line numberDiff line change
@@ -223,18 +223,35 @@ private void executionReport(Message message, SessionID sessionID) throws FieldN
223223
}
224224

225225
OrdStatus ordStatus = (OrdStatus) message.getField(new OrdStatus());
226-
226+
//handles reject
227227
if (ordStatus.valueEquals(OrdStatus.REJECTED)) {
228228
order.setRejected(true);
229229
order.setOpen(0);
230+
//handles cancel
230231
} else if (ordStatus.valueEquals(OrdStatus.CANCELED)
231232
|| ordStatus.valueEquals(OrdStatus.DONE_FOR_DAY)) {
232233
order.setCanceled(true);
233234
order.setOpen(0);
235+
//handles new
234236
} else if (ordStatus.valueEquals(OrdStatus.NEW)) {
235237
if (order.isNew()) {
236238
order.setNew(false);
237239
}
240+
// handles replace
241+
} else if (ordStatus.valueEquals(OrdStatus.REPLACED)) {
242+
OrderQty orderQty = new OrderQty();
243+
message.getField(orderQty);
244+
order.setQuantity((int) orderQty.getValue());
245+
if (message.isSetField(Price.FIELD)) {
246+
Price price = new Price();
247+
message.getField(price);
248+
order.setLimit(price.getValue());
249+
}
250+
if (message.isSetField(StopPx.FIELD)) {
251+
StopPx stopPx = new StopPx();
252+
message.getField(stopPx);
253+
order.setStop(stopPx.getValue());
254+
}
238255
}
239256

240257
try {

0 commit comments

Comments
 (0)