You can use the onMessage() function for further testing, as it is called always when an order changes states.
This code snippet could be used:
public void onMessage(IMessage message) throws JFException {
SimpleDateFormat sdf;
IOrder anOrder;
sdf = new SimpleDateFormat("yyyy-MM-dd_HHmmss");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
anOrder = message.getOrder();
switch (message.getType()) {
case ORDER_SUBMIT_REJECTED:
console.getOut().println()(sdf.format(message.getCreationTime()) + " - " + anOrder.getLabel() + ": " + message);
break;
case ORDER_FILL_REJECTED:
console.getOut().println()(sdf.format(message.getCreationTime()) + " - " + anOrder.getLabel() + ": " + message);
break;
case ORDER_FILL_OK:
break;
case ORDER_CLOSE_OK:
if (message.getReasons().contains(IMessage.Reason.ORDER_CLOSED_BY_SL)) {
}
else if (message.getReasons().contains(IMessage.Reason.ORDER_CLOSED_BY_TP)) {
}
else if (message.getReasons().contains(IMessage.Reason.ORDER_CLOSED_BY_MERGE)) {
}
break;
default:
break;
}
}