private void validateEntry()

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