Package com.google.wave.api

Examples of com.google.wave.api.BlipData


    ConversationBlip blip = conversation.getRootThread().getFirstBlip();
    String replyThreadId = blip.addReplyThread(3).getId();

    EventDataConverterV22 converter = new EventDataConverterV22();
    EventMessageBundle eventMessageBundle = new EventMessageBundle(null, null);
    BlipData blipData = converter.toBlipData(blip, wavelet,
        eventMessageBundle);
    assertEquals(blip.getThread().getId(), blipData.getThreadId());
    assertEquals(Lists.newArrayList(replyThreadId), blipData.getReplyThreadIds());
    Map<String, BlipThread> threads = eventMessageBundle.getThreads();
    assertEquals(1, threads.size());
    assertEquals(1, threads.get(replyThreadId).getLocation());
  }
View Full Code Here


    // operations applied to this wavelet are done without us really knowing
    // what the state of the wavelet is (it might have changed on the server).
    // This means we have to be careful.
    JsonObject json = new JsonParser().parse(e.getMessage()).getAsJsonObject();
    WaveletData waveletData = SERIALIZER.fromJson(json.get("wavelet"), WaveletData.class);
    BlipData blipData = SERIALIZER.fromJson(json.get("blip"), BlipData.class);
    OperationQueue operationQueue = new OperationQueue();

    Map<String, Blip> blips = new HashMap<String, Blip>();
    Wavelet originalWavelet = Wavelet.deserialize(operationQueue, blips, waveletData);
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(
        OperationUtil.getOperationType(operation) == OperationType.BLIP_CONTINUE_THREAD,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);
    String parentBlipId = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_ID);
    ConversationBlip parentBlip = context.getBlip(conversation, parentBlipId);

    ConversationBlip newBlip = parentBlip.getThread().appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(
        OperationUtil.getOperationType(operation) == OperationType.BLIP_CREATE_CHILD,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);
    String parentBlipId = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_ID);
    ConversationBlip parentBlip = context.getBlip(conversation, parentBlipId);

    ConversationBlip newBlip = parentBlip.addReplyThread().appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(
        OperationUtil.getOperationType(operation) == OperationType.WAVELET_APPEND_BLIP,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);

    ObservableConversationBlip newBlip = conversation.getRootThread().appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(
        OperationUtil.getOperationType(operation) == OperationType.DOCUMENT_APPEND_INLINE_BLIP,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);
    String parentBlipId = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_ID);
    ConversationBlip parentBlip = context.getBlip(conversation, parentBlipId);

    // Append a new, empty line to the doc for the inline anchor.
    Document doc = parentBlip.getContent();
    Doc.E line = LineContainers.appendLine(doc, XmlStringBuilder.createEmpty());

    // Insert new inline thread with the blip at the empty sentence.
    int location = doc.getLocation(Point.after(doc, line));
    ConversationBlip newBlip = parentBlip.addReplyThread(location).appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(
        OperationUtil.getOperationType(operation) == OperationType.DOCUMENT_INSERT_INLINE_BLIP,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);
    String parentBlipId = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_ID);
    ConversationBlip parentBlip = context.getBlip(conversation, parentBlipId);

    Integer index = OperationUtil.getRequiredParameter(operation, ParamsProperty.INDEX);
    if (index <= 0) {
      throw new InvalidRequestException(
          "Can't inline a blip on position <= 0, got " + index, operation);
    }

    ApiView view = new ApiView(parentBlip.getContent(), wavelet);
    int xmlLocation = view.transformToXmlOffset(index);

    // Insert new inline thread with the blip at the location as specified.
    ConversationBlip newBlip = parentBlip.addReplyThread(xmlLocation).appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

      throws InvalidRequestException {
    Preconditions.checkArgument(OperationUtil.getOperationType(operation)
        == OperationType.DOCUMENT_INSERT_INLINE_BLIP_AFTER_ELEMENT,
        "Unsupported operation " + operation);

    BlipData blipData = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_DATA);
    String parentBlipId = OperationUtil.getRequiredParameter(operation, ParamsProperty.BLIP_ID);
    ConversationBlip parentBlip = context.getBlip(conversation, parentBlipId);

    Element element = OperationUtil.getRequiredParameter(operation, ParamsProperty.ELEMENT);

    // view.locateElement will tell where the element actually is.
    ApiView view = new ApiView(parentBlip.getContent(), wavelet);
    int elementApiLocation = view.locateElement(element);

    if (elementApiLocation == -1) {
      throw new InvalidRequestException("Requested element not found", operation);
    }

    // Insert just after the requested element
    int xmlLocation = view.transformToXmlOffset(elementApiLocation + 1);

    // Insert new inline thread with the blip at the location of the element.
    ConversationBlip newBlip = parentBlip.addReplyThread(xmlLocation).appendBlip();
    context.putBlip(blipData.getBlipId(), newBlip);

    putContentForNewBlip(newBlip, blipData.getContent());
    processBlipCreatedEvent(operation, context, participant, conversation, newBlip);
  }
View Full Code Here

  }

  @Override
  public BlipData toBlipData(ConversationBlip blip, Wavelet wavelet,
      EventMessageBundle eventMessageBundle) {
    BlipData blipData = super.toBlipData(blip, wavelet, eventMessageBundle);
    String threadId = blip.getThread().getId();
    blipData.setThreadId(threadId);

    // If it's the root thread, that doesn't have thread id, then skip.
    if (!threadId.isEmpty()) {
      ConversationThread thread = blip.getThread();
      addThread(eventMessageBundle, thread, -1, wavelet);
    }

    // Add the inline reply threads.
    List<String> threadIds = Lists.newLinkedList();
    for (LocatedReplyThread<? extends ConversationThread> thread : blip.locateReplyThreads()) {
      String replyThreadId = thread.getThread().getId();
      threadIds.add(replyThreadId);
      addThread(eventMessageBundle, thread.getThread(), thread.getLocation(), wavelet);
    }

    blipData.setReplyThreadIds(threadIds);
    return blipData;
  }
View Full Code Here

  @Override
  public BlipData toBlipData(ConversationBlip blip, Wavelet wavelet,
      EventMessageBundle eventMessageBundle) {
    ConversationBlip parentBlip = findBlipParent(blip);
    BlipData blipData = new BlipData();
    blipData.setCreator(blip.getAuthorId().getAddress());
    blipData.setContributors(idsToParticipantIdList(blip.getContributorIds()));
    blipData.setBlipId(blip.getId());
    blipData.setLastModifiedTime(blip.getLastModifiedTime());
    blipData.setVersion(blip.getLastModifiedVersion());
    blipData.setParentBlipId(parentBlip == null ? null : parentBlip.getId());
    blipData.setWaveId(ApiIdSerializer.instance().serialiseWaveId(wavelet.getWaveId()));
    blipData.setWaveletId(ApiIdSerializer.instance().serialiseWaveletId(wavelet.getId()));
    blipData.setChildBlipIds(toBlipIdList(findBlipChildren(blip)));

    ApiView apiView = new ApiView(blip.getContent(), wavelet);
    // Set content.
    blipData.setContent(apiView.apiContents());
    // Set Annotations.
    blipData.setAnnotations(extractAnnotations(blip.getContent(), apiView));
    // blip.getContent().rangedAnnotations(0, blip.getContent().size(), null),
    // Set Form Elements.
    blipData.setElements(ElementSerializer.serialize(blip.getContent(), wavelet));
    return blipData;
  }
View Full Code Here

TOP

Related Classes of com.google.wave.api.BlipData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.