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