import com.mongodb.DBCursor; //导入方法依赖的package包/类
/**
* @param channelId The Unique ID of the channel.
* @param limit The Integer limit of ChatMessages to load.
* @return Returns a List of ChatMessages for the ChatChannel.
*/
private List getChatMessages(UUID channelId, int limit) {
List listChatMessages = new LinkedList<>();
// Grab all the messages with the channel_id set to the one provided.
DBObject query = new BasicDBObject("channel_id", channelId);
DBCursor cursor = collectionMessages.find(query);
// Sort the list by timestamp so that the last messages appear first.
cursor.sort(new BasicDBObject("timestamp", -1));
cursor.limit(limit);
if(cursor.size() > 0) {
List listObjects = cursor.toArray();
Collections.reverse(listObjects);
for(DBObject object : listObjects) {
// Create the MongoDocument.
MongoChatMessage mongoChatMessage = new MongoChatMessage(collectionMessages, object);
// Create the container for the document.
ChatMessage chatMessage = new ChatMessage(mongoChatMessage);
// Add this to the list to return.
listChatMessages.add(chatMessage);
}
}
// Close the cursor to release resources.
cursor.close();
// Return the result list of messages for the channel.
return listChatMessages;
}