ConversationBlip requiredBlip = conversation.getBlip(entry.getKey()); if (contextSet.contains(Context.ALL)) { ContextResolver.addAllBlipsToEventMessages( eventMessageBundle, conversation, wavelet, eventDataConverter); ConversationBlip rootBlip = conversation.getRootThread().getFirstBlip(); if (rootBlip != requiredBlip) { ContextResolver.addBlipToEventMessages( eventMessageBundle, rootBlip, wavelet, eventDataConverter); ContextResolver.addBlipToEventMessages( eventMessageBundle, requiredBlip, wavelet, eventDataConverter); if (contextSet.contains(Context.CHILDREN)) { for (ConversationBlip child : eventDataConverter.findBlipChildren(requiredBlip)) { ContextResolver.addBlipToEventMessages( eventMessageBundle, child, wavelet, eventDataConverter); ConversationBlip parent = eventDataConverter.findBlipParent(requiredBlip); if (parent != null) { ContextResolver.addBlipToEventMessages( eventMessageBundle, parent, wavelet, eventDataConverter); for (ConversationBlip blip : containingThread.getBlips()) { if (blip != requiredBlip) { ContextResolver.addBlipToEventMessages( eventMessageBundle, blip, wavelet, eventDataConverter);
public void testResolveContext() throws Exception { eventMessages.requireBlip( conversation.getRootThread().getFirstBlip().getId(), Lists.newArrayList(Context.CHILDREN)); ContextResolver.resolveContext( eventMessages, wavelet, conversation, new EventDataConverterV21()); Set<String> blips = eventMessages.getBlipData().keySet(); assertEquals(2, blips.size()); for (ConversationBlip blip : conversation.getRootThread().getBlips()) { assertTrue(blips.contains(blip.getId())); } }
/** * Adds all blips in the given conversation to the {@link EventMessageBundle}. * * @param eventMessageBundle to add the blips to * @param conversation {@link Conversation} to get all blips from * @param wavelet {@link Wavelet} that the {@link Conversation} is based on * @param eventDataConverter {@link EventDataConverter} used for conversion */ public static void addAllBlipsToEventMessages(EventMessageBundle eventMessageBundle, Conversation conversation, Wavelet wavelet, EventDataConverter eventDataConverter) { Queue<ConversationThread> threads = new LinkedList<ConversationThread>(); threads.add(conversation.getRootThread()); while (!threads.isEmpty()) { ConversationThread thread = threads.remove(); for (ConversationBlip blip : thread.getBlips()) { addBlipToEventMessages(eventMessageBundle, blip, wavelet, eventDataConverter); for (ConversationThread replyThread : blip.getReplyThreads()) { threads.add(replyThread); } } } } }
/** * Maps a wavelet and its conversation to a new {@link EventMessageBundle}. * * @param converter to convert to API objects. * @param participant the participant who the bundle is for. * @param wavelet the wavelet to put in the bundle. * @param conversation the conversation to put in the bundle. */ private EventMessageBundle mapWaveletToMessageBundle(EventDataConverter converter, ParticipantId participant, Wavelet wavelet, Conversation conversation) { EventMessageBundle messages = new EventMessageBundle(participant.getAddress(), ""); WaveletData waveletData = converter.toWaveletData(wavelet, conversation, messages); messages.setWaveletData(waveletData); ContextResolver.addAllBlipsToEventMessages(messages, conversation, wavelet, converter); return messages; }
public void testResolveRootContext() throws Exception { ConversationBlip newBlip = conversation.getRootThread().appendBlip(); eventMessages.requireBlip(newBlip.getId(), Lists.newArrayList(Context.ROOT)); ContextResolver.resolveContext( eventMessages, wavelet, conversation, new EventDataConverterV21()); Set<String> blips = eventMessages.getBlipData().keySet(); assertEquals(2, blips.size()); assertTrue(blips.contains(conversation.getRootThread().getFirstBlip().getId())); assertTrue(blips.contains(newBlip.getId())); }
public void testResolveContext() throws Exception { eventMessages.requireBlip( conversation.getRootThread().getFirstBlip().getId(), Lists.newArrayList(Context.CHILDREN)); ContextResolver.resolveContext( eventMessages, wavelet, conversation, new EventDataConverterV21()); Set<String> blips = eventMessages.getBlipData().keySet(); assertEquals(2, blips.size()); for (ConversationBlip blip : conversation.getRootThread().getBlips()) { assertTrue(blips.contains(blip.getId())); } }
public void testResolveRootContext() throws Exception { ConversationBlip newBlip = conversation.getRootThread().appendBlip(); eventMessages.requireBlip(newBlip.getId(), Lists.newArrayList(Context.ROOT)); ContextResolver.resolveContext( eventMessages, wavelet, conversation, new EventDataConverterV21()); Set<String> blips = eventMessages.getBlipData().keySet(); assertEquals(2, blips.size()); assertTrue(blips.contains(conversation.getRootThread().getFirstBlip().getId())); assertTrue(blips.contains(newBlip.getId())); }
ContextResolver.resolveContext(messages, wavelet, conversation, converter);