/** * Do I send this message to the remote server? * Remember to check for the filter match. * @return true If I do (default). */ public boolean isSendRemoteMessage(BaseMessage message) { Iterator<BaseMessageFilter> iterator = this.getMessageFilterList().getFilterList(null); // ALL The filters (not just matches). while (iterator.hasNext()) { BaseMessageFilter filter = iterator.next(); if (!filter.isRemoteFilter()) // Always send down when filter is a remote copy if (filter.isSendRemoteMessage(message) == false) return false; // Don't send this message down } return true; } }
/** * Do I send this message to the remote server? * @return true If I do (default). */ public boolean isSendRemoteMessage(BaseMessage message) { if (message instanceof RecordMessage) // Always { RecordMessageHeader recMessageHeader = (RecordMessageHeader)message.getMessageHeader(); int iChangeType = recMessageHeader.getRecordMessageType(); if (m_iDatabaseType == recMessageHeader.getDatabaseType()) if (DBParams.CLIENT.equals(recMessageHeader.getSourceType())) // Don't send only if Client DB is handling these messages. { if (!(this instanceof GridRecordMessageFilter)) if ((iChangeType == DBConstants.AFTER_UPDATE_TYPE) || (iChangeType == DBConstants.AFTER_ADD_TYPE) || (iChangeType == DBConstants.AFTER_DELETE_TYPE)) return false; // The remote version of me handles this message remotely. if (this instanceof GridRecordMessageFilter) if (iChangeType == DBConstants.AFTER_REQUERY_TYPE) return false; // The remote version of me handles this message remotely. } } return super.isSendRemoteMessage(message); } /**
/** * Do I send this message to the remote server? * @return true If I do (default). */ public boolean isSendRemoteMessage(BaseMessage message) { if (message instanceof RecordMessage) // Always { RecordMessageHeader recMessageHeader = (RecordMessageHeader)message.getMessageHeader(); int iChangeType = recMessageHeader.getRecordMessageType(); if (m_iDatabaseType == recMessageHeader.getDatabaseType()) if (DBParams.CLIENT.equals(recMessageHeader.getSourceType())) // Don't send only if Client DB is handling these messages. { if (!(this instanceof GridRecordMessageFilter)) if ((iChangeType == DBConstants.AFTER_UPDATE_TYPE) || (iChangeType == DBConstants.AFTER_ADD_TYPE) || (iChangeType == DBConstants.AFTER_DELETE_TYPE)) return false; // The remote version of me handles this message remotely. if (this instanceof GridRecordMessageFilter) if (iChangeType == DBConstants.AFTER_REQUERY_TYPE) return false; // The remote version of me handles this message remotely. } } return super.isSendRemoteMessage(message); } /**