public void sendPackage()

in java/runner/src/intTest/java/com/epam/deltix/data/connectors/validator/DataValidatorImpl.java [68:122]


    public void sendPackage(PackageHeaderInfo headerInfo) {
        if (waitingForSnapshot && headerInfo.getPackageType() == PackageType.INCREMENTAL_UPDATE) {
            return;
        }

        waitingForSnapshot = false;

        if ((!headerInfo.hasSymbol()) || (!CharSequenceUtils.equals(headerInfo.getSymbol(), symbol))) {
            sendMessageToLogger(headerInfo, "Incorrect symbol", Severity.ERROR);
        }
        if (!headerInfo.hasEntries()) {
            sendMessageToLogger(headerInfo, "Missed entries list", Severity.ERROR);
        }
        if (!headerInfo.hasPackageType()) {
            sendMessageToLogger(headerInfo, "Missed package type", Severity.ERROR);
        }
        if (headerInfo.getEntries().size() == 0) {
            sendMessageToLogger(headerInfo, "Empty entries list", Severity.WARNING);
        }
        clearHeaders(headerInfo, l1header);
        clearHeaders(headerInfo, l2header);
        clearHeaders(headerInfo, l3header);
        for (int i = 0; i < headerInfo.getEntries().size(); ++i) {
            BaseEntryInfo entry = headerInfo.getEntries().get(i);
            if (entry instanceof L1Entry) {
                l1header.getEntries().add(entry);
                isL1Data = true;
            } else
            if (entry instanceof L2EntryNew || entry instanceof L2EntryUpdate) {
                l2header.getEntries().add(entry);
                isL2Data = true;
            } else if (entry instanceof L3EntryNew || entry instanceof L3EntryUpdate) {
                l3header.getEntries().add(entry);
                isL3Data = true;
            } else if (entry instanceof BookResetEntry) {
                BookResetEntry bookResetEntry = (BookResetEntry)entry;
                if (bookResetEntry.getModelType() == DataModelType.LEVEL_ONE) {
                    l1header.getEntries().add(entry);
                    isL1Data = true;
                } else if (bookResetEntry.getModelType() == DataModelType.LEVEL_TWO) {
                    l2header.getEntries().add(entry);
                    isL2Data = true;
                } else {
                    l3header.getEntries().add(entry);
                    isL3Data = true;
                }
            } else if (entry instanceof TradeEntry) {
                if (isL1Data) l1header.getEntries().add(entry);
                if (isL2Data) l2header.getEntries().add(entry);
                if (isL3Data) l3header.getEntries().add(entry);
            }
        }
        if (l1header.getEntries().size() > 0) l1dataValidator.sendPackage(l1header);
        if (l2header.getEntries().size() > 0) l2dataValidator.sendPackage(l2header);
    }