/** * Find messages order by descending timestamp by different criteria. * * @param data The message data value object carrying query criteria. * @param numberOfMessage max no. of message in return. * @param offset no. of starting record in return. * @throws DAOException */ public List findMessagesByHistory(MessageDVO data, int numberOfMessage, int offset) throws DAOException { List parameters = new ArrayList(); boolean hasSearchCriteria = false; String sql = super.getFinder("find_message_by_history"); if (data.getMessageId() != null && !data.getMessageId().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_message_id"); parameters.add(data.getMessageId()); } if (data.getMessageBox() != null && !data.getMessageBox().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_message_box"); parameters.add(data.getMessageBox()); } if (data.getCpaId() != null && !data.getCpaId().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_cpa_id"); parameters.add(data.getCpaId()); } if (data.getService() != null && !data.getService().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_service"); parameters.add(data.getService()); } if (data.getAction() != null && !data.getAction().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_action"); parameters.add(data.getAction()); } if (data.getStatus() != null && !data.getStatus().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_status"); parameters.add(data.getStatus()); } if (data.getConvId() != null && !data.getConvId().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_conv_id"); parameters.add(data.getConvId()); } if (data.getPrimalMessageId() != null && !data.getPrimalMessageId().trim().equals("")) { sql += " AND " + getFilter("find_message_by_history_filter_primal_message_id"); parameters.add(data.getPrimalMessageId()); } sql += " " + getOrder("find_message_by_history_order"); parameters.add(new Integer(numberOfMessage)); parameters.add(new Integer(offset)); return executeQuery(sql, parameters.toArray()); }
/** * Find number of messages by different criteria. * * @param data The message data value object carrying query criteria. * @throws DAOException */ public int findNumberOfMessagesByHistory(MessageDVO data) throws DAOException { try { List parameters = new ArrayList(); String sql = super.getFinder("find_number_of_message_by_history"); if (data.getMessageId() != null && !data.getMessageId().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_message_id"); parameters.add(data.getMessageId()); } if (data.getMessageBox() != null && !data.getMessageBox().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_message_box"); parameters.add(data.getMessageBox()); } if (data.getCpaId() != null && !data.getCpaId().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_cpa_id"); parameters.add(data.getCpaId()); } if (data.getService() != null && !data.getService().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_service"); parameters.add(data.getService()); } if (data.getAction() != null && !data.getAction().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_action"); parameters.add(data.getAction()); } if (data.getStatus() != null && !data.getStatus().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_status"); parameters.add(data.getStatus()); } if (data.getConvId() != null && !data.getConvId().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_conv_id"); parameters.add(data.getConvId()); } if (data.getPrimalMessageId() != null && !data.getPrimalMessageId().trim().equals("")) { sql += " AND " + getFilter("find_number_of_message_by_history_filter_primal_message_id"); parameters.add(data.getPrimalMessageId()); } List queryResult = executeRawQuery(sql, parameters.toArray()); List resultEntry = (List) queryResult.get(0); return ((Number) resultEntry.get(0)).intValue(); } catch (Exception e) { throw new DAOException("Unable to find the number of messages by history", e); } }
/** * Find all the message by CPA, status, message type and message box. Only for EbMS Message * Collector Service * * @param data The message data value object. * @param numberOfMessage The no. of message return. * @return a List of DVO resulted from the specified SQL query. An empty List will be returned if * there is no matching data. * @throws DAOException if errors found when retrieving data from the data source. */ public List findMessageByCpa(MessageDVO data, int numberOfMessage) throws DAOException { List parameters = new ArrayList(); String sql = super.getFinder("find_message_by_cpa"); parameters.add(data.getCpaId()); parameters.add(data.getService()); parameters.add(data.getAction()); if (data.getConvId() != null) { sql += " AND " + getFilter("find_message_by_cpa_filter_conv_id"); parameters.add(data.getConvId()); } if (data.getFromPartyId() != null) { sql += " AND " + getFilter("find_message_by_cpa_filter_from_party_id"); parameters.add(data.getFromPartyId()); } if (data.getFromPartyRole() != null) { sql += " AND " + getFilter("find_message_by_cpa_filter_from_party_role"); parameters.add(data.getFromPartyRole()); } if (data.getToPartyId() != null) { sql += " AND " + getFilter("find_message_by_cpa_filter_to_party_id"); parameters.add(data.getToPartyId()); } if (data.getToPartyRole() != null) { sql += " AND " + getFilter("find_message_by_cpa_filter_to_party_role"); parameters.add(data.getToPartyRole()); } sql += " " + getOrder("find_message_by_cpa_order"); parameters.add(new Integer(numberOfMessage)); return executeQuery(sql, parameters.toArray()); }
// find all the ordered messages by messagebox, cpa and status public List findOrderedMessagesByMessageBoxAndCpaAndStatus(MessageDVO data) throws DAOException { return super.find( "find_ordered_messages_by_message_box_and_cpa_and_status", new Object[] { data.getMessageBox(), data.getCpaId(), data.getService(), data.getAction(), data.getConvId(), data.getStatus() }); }
/** * Find max sequence no. of inbox message in PS or DL status by CPA Only for EbMS Inbox Collector * Service * * @param data The message data value object. * @return max sequence no. -1 will be returned if there is no matching data. * @throws DAOException if errors found when retrieving data from the data source. */ public int findInboxReadyMaxSequenceNoByCpa(MessageDVO data) throws DAOException { List l = super.find( "find_inbox_ready_max_sequence_no_by_cpa", new Object[] {data.getCpaId(), data.getService(), data.getAction(), data.getConvId()}); Iterator i = l.iterator(); if (i.hasNext()) { MessageDataSourceDVO resultData = (MessageDataSourceDVO) i.next(); return resultData.getSequenceNo(); } return -1; }
public int findMaxSequenceGroupByMessageBoxAndCpa(MessageDVO data) throws DAOException { List l = super.find( "find_max_sequence_group_by_message_box_and_cpa", new Object[] { data.getMessageBox(), data.getCpaId(), data.getService(), data.getAction(), data.getConvId() }); Iterator i = l.iterator(); if (i.hasNext()) { MessageDataSourceDVO resultData = (MessageDataSourceDVO) i.next(); return resultData.getSequenceGroup(); } return -1; }
public int findNumOfMessagesByMessageBoxAndCpaAndSequenceGroup(MessageDVO data) throws DAOException { try { List result = super.executeRawQuery( super.getFinder("find_num_of_messages_by_message_box_and_cpa_and_sequence_group"), new Object[] { data.getMessageBox(), data.getCpaId(), data.getService(), data.getAction(), data.getConvId(), new Integer(data.getSequenceGroup()) }); List resultEntry = (List) result.get(0); return ((Number) resultEntry.get(0)).intValue(); } catch (Exception e) { throw new DAOException("Unable to find the number of messages by history", e); } }
public boolean findOrderedMessageByMessageBoxAndCpaAndSequenceGroupAndSequenceNo(MessageDVO data) throws DAOException { List l = super.find( "find_ordered_message_by_message_box_and_cpa_and_sequence_group_and_sequence_no", new Object[] { data.getMessageBox(), data.getCpaId(), data.getService(), data.getAction(), data.getConvId(), new Integer(data.getSequenceGroup()), new Integer(data.getSequenceNo()) }); Iterator i = l.iterator(); if (i.hasNext()) { ((MessageDataSourceDVO) data).setData(((MessageDataSourceDVO) i.next()).getData()); return true; } return false; }