public boolean validate(final HeaderDecoder header) { final boolean leftValid = left.validate(header); if (leftValid) { final boolean rightValid = right.validate(header); if (rightValid) { return true; } else { invalidTagId = right.invalidTagId(); rejectReason = right.rejectReason(); } } else { invalidTagId = left.invalidTagId(); rejectReason = left.rejectReason(); } return false; }
private boolean validateHeader(final HeaderDecoder header) { if (!session.onBeginString(header.beginString(), header.beginStringLength(), false)) { return false; } boolean validated; try { validated = validationStrategy.validate(header); } catch (final Throwable throwable) { onStrategyError("validation", throwable, header.toString()); validated = false; } if (!validated) { session.onInvalidMessage( header.msgSeqNum(), validationStrategy.invalidTagId(), header.msgType(), header.msgTypeLength(), validationStrategy.rejectReason()); session.logoutRejectReason(validationStrategy.rejectReason()); session.startLogout(); return false; } return true; }