Package org.waveprotocol.wave.model.operation.wave

Examples of org.waveprotocol.wave.model.operation.wave.TransformedWaveletDelta


  }

  @Override
  public HashedVersion getResultingVersion(long version) throws IOException {
    checkIsOpen();
    TransformedWaveletDelta transformed = getTransformedDelta(version);

    return (transformed != null) ? transformed.getResultingVersion() : null;
  }
View Full Code Here


            if (nextRecord == null) {
              // Read the next record
              try {
                file.seek(nextPosition);
                TransformedWaveletDelta transformed = readTransformedDeltaFromRecord();
                nextRecord = Pair.of(Pair.of(transformed.getAppliedAtVersion(),
                        transformed.size()), nextPosition);
                nextPosition = file.getFilePointer();
              } catch (IOException e) {
                // The next entry is invalid. There was probably a write error / crash.
                LOG.severe("Error reading delta file for " + waveletName + " starting at " +
                    nextPosition, e);
View Full Code Here

  private WaveletDeltaRecord readRecord() throws IOException {
    DeltaHeader header = readDeltaHeader();

    ByteStringMessage<ProtocolAppliedWaveletDelta> appliedDelta =
        readAppliedDelta(header.appliedDeltaLength);
    TransformedWaveletDelta transformedDelta = readTransformedWaveletDelta(
        header.transformedDeltaLength);

    return new WaveletDeltaRecord(AppliedDeltaUtil.getHashedVersionAppliedAt(appliedDelta),
        appliedDelta, transformedDelta);
  }
View Full Code Here

   */
  private TransformedWaveletDelta readTransformedDeltaFromRecord() throws IOException {
    DeltaHeader header = readDeltaHeader();

    file.skipBytes(header.appliedDeltaLength);
    TransformedWaveletDelta transformedDelta = readTransformedWaveletDelta(
        header.transformedDeltaLength);

    return transformedDelta;
  }
View Full Code Here

   * The delta must be non-empty.
   */
  protected WaveletDeltaRecord applyDelta(
      ByteStringMessage<ProtocolAppliedWaveletDelta> appliedDelta, WaveletDelta transformed)
      throws InvalidProtocolBufferException, OperationException {
    TransformedWaveletDelta transformedDelta =
        AppliedDeltaUtil.buildTransformedDelta(appliedDelta, transformed);
    waveletState.appendDelta(transformed.getTargetVersion(), transformedDelta, appliedDelta);

    return new WaveletDeltaRecord(transformed.getTargetVersion(), appliedDelta, transformedDelta);
  }
View Full Code Here

  public static ObservableWaveletData buildWaveletFromDeltas(WaveletName waveletName,
      Iterator<TransformedWaveletDelta> deltas) throws OperationException {
    Preconditions.checkArgument(deltas.hasNext(), "empty deltas");
    ObservableWaveletData wavelet = buildWaveletFromFirstDelta(waveletName, deltas.next());
    while (deltas.hasNext()) {
      TransformedWaveletDelta delta = deltas.next();
      applyWaveletDelta(delta, wavelet);
    }
    return wavelet;
  }
View Full Code Here

      }
    }
    WaveletOperationContext context =
        new WaveletOperationContext(author, applicationTimestamp, 1, resultingVersion);
    ops.add(deserialize(delta.getOperation(count - 1), context));
    return new TransformedWaveletDelta(author, resultingVersion, applicationTimestamp, ops);
  }
View Full Code Here

    Set<ParticipantId> remainingparticipants =
        Sets.newHashSet(waveletInfo.getWaveletParticipants(waveletName));
    // Participants added during the course of newDeltas.
    Set<ParticipantId> newParticipants = Sets.newHashSet();
    for (int i = 0; i < newDeltas.size(); i++) {
      TransformedWaveletDelta delta = newDeltas.get(i);
      // Participants added or removed in this delta get the whole delta.
      for (WaveletOperation op : delta) {
        if (op instanceof AddParticipant) {
          ParticipantId p = ((AddParticipant) op).getParticipantId();
          remainingparticipants.add(p);
View Full Code Here

      } else {
        context = new WaveletOperationContext(author, applicationTimestamp, 1);
      }
      operations.add(CoreWaveletOperationSerializer.deserialize(delta.getOperation(i), context));
    }
    return new TransformedWaveletDelta(author, resultingVersion, applicationTimestamp, operations.build());
  }
View Full Code Here

     *         the next delta is empty
     */
    @Override
    public TransformedWaveletDelta next() {
      try {
        TransformedWaveletDelta delta = reader.getTransformedDelta(nextVersion);
        Preconditions.checkState(delta != null, "no delta at version %s", nextVersion);
        Preconditions.checkState(
            delta.getAppliedAtVersion() < delta.getResultingVersion().getVersion(),
            "delta [%s, %s) is empty", delta.getAppliedAtVersion(), delta.getResultingVersion());
        nextVersion = delta.getResultingVersion().getVersion();
        return delta;
      } catch (IOException e) {
        throw new RuntimeIOException(e);
      }
    }
View Full Code Here

TOP

Related Classes of org.waveprotocol.wave.model.operation.wave.TransformedWaveletDelta

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.