in java/runner/src/intTest/java/com/epam/deltix/data/connectors/validator/L1DataValidator.java [70:98]
private void validateEntry(PackageHeaderInfo headerInfo, TradeEntry tradeEntry) {
if (!tradeEntry.hasPrice() || (Decimal64Utils.isNaN(tradeEntry.getPrice())) || (Decimal64Utils.isInfinity(tradeEntry.getPrice()))) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "Unexpected (or missed) entry price in TradeEntry", Severity.ERROR);
}
if ((!tradeEntry.hasSize()) || (Decimal64Utils.isLessOrEqual(tradeEntry.getSize(), Decimal64Utils.ZERO)) || (Decimal64Utils.isNaN(tradeEntry.getSize())) || (Decimal64Utils.isInfinity(tradeEntry.getSize()))) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "Unexpected (or missed) entry size in TradeEntry", Severity.ERROR);
}
if (!tradeEntry.hasExchangeId()) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "Missed exchangeId in TradeEntry", Severity.ERROR);
}
if (checkNegativePrice && Decimal64Utils.isLess(tradeEntry.getPrice(), Decimal64Utils.ZERO)) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "TradeEntry price is negative", Severity.WARNING);
}
if (checkTickPrice && Decimal64Utils.isNotEqual(Decimal64Utils.round(tradeEntry.getPrice(), tickPrice), tradeEntry.getPrice())) {
try {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), (CharSequence)Decimal64Utils.appendTo(tradeEntry.getPrice(), internalLogBuilder.clear().append("TradeEntry price is not multiple of tickSize. Price: ")), Severity.ERROR);
} catch (IOException e) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "Error in Decimal64.appendToMutableString", Severity.ERROR);
}
}
if (checkTickSize && Decimal64Utils.isNotEqual(Decimal64Utils.round(tradeEntry.getSize(), tickSize), tradeEntry.getSize())) {
try {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), (CharSequence) Decimal64Utils.appendTo(tradeEntry.getSize(), internalLogBuilder.clear().append("TradeEntry size is not multiple of lotSize. Size: ")), Severity.ERROR);
} catch (IOException e) {
sendMessageToLogger(headerInfo, tradeEntry.getExchangeId(), "Error in Decimal64.appendToMutableString", Severity.ERROR);
}
}
}