private void validationCheck()

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


    private void validationCheck(PackageHeaderInfo headerInfo, L2EntryNew entryNew) {
        if ((!entryNew.hasLevel()) || entryNew.getLevel() < 0) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(),"Unexpected (or missed) entry level in L2EntryNew", Severity.ERROR);
        }
        if (!entryNew.hasPrice() || (Decimal64Utils.isNaN(entryNew.getPrice())) || (Decimal64Utils.isInfinity(entryNew.getPrice()))) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Unexpected (or missed) entry price in L2EntryNew", Severity.ERROR);
        }
        if ((!entryNew.hasSize()) || (Decimal64Utils.isLessOrEqual(entryNew.getSize(), Decimal64Utils.ZERO)) || (Decimal64Utils.isNaN(entryNew.getSize())) || (Decimal64Utils.isInfinity(entryNew.getSize()))) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Unexpected (or missed) entry size in L2EntryNew", Severity.ERROR);
        }
        if (!entryNew.hasSide()) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Missed entry side in L2EntryNew", Severity.ERROR);
        }
        if (!entryNew.hasExchangeId()) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Missed exchangeId in L2EntryNew", Severity.ERROR);
        }

        if (checkNegativePrice && Decimal64Utils.isLess(entryNew.getPrice(), Decimal64Utils.ZERO)) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "L2EntryNew price is negative", Severity.WARNING);
        }
        if (checkTickPrice && Decimal64Utils.isNotEqual(Decimal64Utils.round(entryNew.getPrice(), tickPrice), entryNew.getPrice())) {
            try {
                sendMessageToLogger(headerInfo,entryNew.getExchangeId(),  (CharSequence)Decimal64Utils.appendTo(entryNew.getPrice(), internalLogBuilder.clear().append("L2EntryNew price is not multiple of tickSize. Price: ")), Severity.ERROR);
            } catch (IOException e) {
                sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Error in Decimal64.appendToMutableString", Severity.ERROR);
            }
        }
        if (checkTickSize &&Decimal64Utils.isNotEqual(Decimal64Utils.round(entryNew.getSize(), tickSize), entryNew.getSize())) {
            try {
                sendMessageToLogger(headerInfo, entryNew.getExchangeId(), (CharSequence)Decimal64Utils.appendTo(entryNew.getSize(), internalLogBuilder.clear().append("L2EntryNew size is not multiple of lotSize. Size: ")), Severity.ERROR);
            } catch (IOException e) {
                sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "Error in Decimal64.appendToMutableString", Severity.ERROR);
            }
        }
        if (entryNew.getLevel() >= marketDepth) {
            sendMessageToLogger(headerInfo, entryNew.getExchangeId(), "L2EntryNew level is greater than market depth.", Severity.ERROR);
        }

    }