private void validationCheck()

in java/runner/src/intTest/java/com/epam/deltix/data/connectors/validator/L2DataValidator.java [224:259]


    private void validationCheck(PackageHeaderInfo headerInfo, L2EntryUpdate entryUpdate) {
        if ((!entryUpdate.hasLevel()) || entryUpdate.getLevel() < 0) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Unexpected (or missed) entry level in L2EntryUpdate", Severity.ERROR);
        }
        if (!entryUpdate.hasSide()) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Missed entry side in L2EntryUpdate", Severity.ERROR);
        }
        if (!entryUpdate.hasExchangeId()) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Missed exchangeId in L2EntryUpdate", Severity.ERROR);
        }
        if (!entryUpdate.hasAction()) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Missed action in L2EntryUpdate", Severity.ERROR);
        }
        if (entryUpdate.getAction() == BookUpdateAction.UPDATE) {
            if (!entryUpdate.hasPrice() || (Decimal64Utils.isNaN(entryUpdate.getPrice())) || (Decimal64Utils.isInfinity(entryUpdate.getPrice()))) {
                sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Unexpected (or missed) entry price in L2EntryUpdate with Action = Update", Severity.ERROR);
            }
            if ((!entryUpdate.hasSize()) || (Decimal64Utils.isLessOrEqual(entryUpdate.getSize(), Decimal64Utils.ZERO)) || (Decimal64Utils.isNaN(entryUpdate.getSize())) || (Decimal64Utils.isInfinity(entryUpdate.getSize()))) {
                sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Unexpected (or missed) entry size in L2EntryUpdate with Action = Update", Severity.ERROR);
            }
            if (checkTickSize && Decimal64Utils.isNotEqual(Decimal64Utils.round(entryUpdate.getSize(), tickSize), entryUpdate.getSize())) {
                try {
                    sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), (CharSequence)Decimal64Utils.appendTo(entryUpdate.getSize(), internalLogBuilder.clear().append("L2EntryUpdate size is not multiple of lotSize. Size: ")), Severity.ERROR);
                } catch (IOException e) {
                    sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Error in Decimal64.appendToMutableString", Severity.ERROR);
                }
            }
        } else if (entryUpdate.getAction() == BookUpdateAction.INSERT) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "Invalid action in L2EntryUpdate. We don't support inserting by L2EntryUpdate.", Severity.ERROR);
        }

        if (entryUpdate.getLevel() >= marketDepth) {
            sendMessageToLogger(headerInfo, entryUpdate.getExchangeId(), "L2EntryUpdate level is greater than market depth.", Severity.ERROR);
        }

    }