Package org.waveprotocol.wave.federation.Proto

Examples of org.waveprotocol.wave.federation.Proto.ProtocolHashedVersion


   * the wave server.
   */
  public void testSubmitRequest() {
    int OPS_APPLIED = 1;
    long TIMESTAMP_APPLIED = 123;
    ProtocolHashedVersion APPLIED_AT = ProtocolHashedVersion.newBuilder()
        .setVersion(VERSION_ONE.getVersion() + OPS_APPLIED)
        .setHistoryHash(ByteString.copyFromUtf8("blah")).build();

    disco.testInjectInDomainToJidMap(REMOTE_DOMAIN, REMOTE_JID);

View Full Code Here


   */
  ProtocolWaveletDelta setVersionHash(ProtocolWaveletDelta delta,
      CommittedWaveletSnapshot waveletSnapshot, WaveletName waveletName) throws InvalidParticipantAddress {
    ProtocolWaveletDelta.Builder newDelta = ProtocolWaveletDelta.newBuilder(delta);
    if (waveletSnapshot == null) {
      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
          setHistoryHash(ByteString.copyFrom(HASH_FACTORY.createVersionZero(waveletName).getHistoryHash())).
          build();
      newDelta.setHashedVersion(ver);
    } else {
      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
          setHistoryHash(ByteString.copyFrom(waveletSnapshot.snapshot.getHashedVersion().getHistoryHash())).
          build();
      newDelta.setHashedVersion(ver);
    }
    return newDelta.build();
View Full Code Here

  private HashedVersion getVersionParameter(OperationRequest operation, ParamsProperty parameter)
      throws InvalidRequestException {
    byte[] bytes = OperationUtil.<byte[]>getRequiredParameter(
          operation, parameter);
    ProtocolHashedVersion protoVersion;
    try {
      protoVersion = ProtocolHashedVersion.parseFrom(bytes);
    } catch (InvalidProtocolBufferException ex) {
      throw new InvalidRequestException("Invalid version " + parameter.key(), operation, ex);
    }
View Full Code Here

            || historyDelta.attribute("wavelet-name") == null) {
      responseCallback.error(FederationErrors.badRequest("Malformed history request"));
      return;
    }

    final ProtocolHashedVersion startVersion;
    try {
      startVersion = parseFromUnsafe(historyDelta.attributeValue("start-version"),
          historyDelta.attributeValue("start-version-hash"));
    } catch (IllegalArgumentException e) {
      responseCallback.error(FederationErrors.badRequest("Invalid format of start version"));
      return;
    }

    final ProtocolHashedVersion endVersion;
    try {
      endVersion = parseFromUnsafe(historyDelta.attributeValue("end-version"),
          historyDelta.attributeValue("end-version-hash"));
    } catch (IllegalArgumentException e) {
      responseCallback.error(FederationErrors.badRequest("Invalid format of end version"));
View Full Code Here

    } catch (IllegalArgumentException e) {
      responseCallback.error(FederationErrors.badRequest("Malformed signer ID"));
      return;
    }

    final ProtocolHashedVersion deltaEndVersion;
    try {
      deltaEndVersion = parseFromUnsafe(signerRequest.attributeValue("version"),
          signerRequest.attributeValue("history-hash"));
    } catch (IllegalArgumentException e) {
      responseCallback.error(FederationErrors.badRequest("Invalid hashed version"));
View Full Code Here

      }

      // Optionally submit any received last committed notice.
      Element commitNoticeElement = waveletUpdate.element("commit-notice");
      if (commitNoticeElement != null) {
        ProtocolHashedVersion version = ProtocolHashedVersion.newBuilder()
            .setHistoryHash(Base64Util.decode(commitNoticeElement.attributeValue("history-hash")))
            .setVersion(Long.parseLong(commitNoticeElement.attributeValue("version"))).build();
        callbackCount.incrementAndGet(); // Increment required callbacks.
        listener.waveletCommitUpdate(waveletName, version, callback);
      }
View Full Code Here

      }
    } else {
      listener.onFailure(FederationErrors.badRequest("Bad response packet: " + historyResponse));
    }

    final ProtocolHashedVersion lastCommitted;
    if (lastCommittedVersion > -1) {
      // TODO(thorogood): fedone doesn't send a history hash, and it's arguable
      // that it's even sane to include it.
      // Can't set it to null - NPE
      lastCommitted =
View Full Code Here

      }
    }

    Set<String> remoteDomainsToNotify = Sets.difference(domainsToNotify, localDomains);
    if (!remoteDomainsToNotify.isEmpty()) {
      ProtocolHashedVersion serializedVersion = CoreWaveletOperationSerializer.serialize(version);
      for (String domain : remoteDomainsToNotify) {
        try {
          federationHosts.get(domain).waveletCommitUpdate(
              waveletName, serializedVersion, federationCallback("commit notice"));
        } catch (ExecutionException ex) {
View Full Code Here

  }

  private void exportDeltas(WaveId waveId, WaveletId waveletId, ProtocolHashedVersion lastVersion,
      Set<AttachmentId> attachmentIds) throws IOException {
    HashedVersion zeroVersion = HASH_FACTORY.createVersionZero(WaveletName.of(waveId, waveletId));
    ProtocolHashedVersion version = CoreWaveletOperationSerializer.serialize(zeroVersion);
    for (int fetchNum = 0; version.getVersion() != lastVersion.getVersion(); fetchNum++) {
      Console.print("    getting deltas from version " + version.getVersion() + " ...");
      final List<byte[]> deltas = Lists.newArrayList();
      final AtomicReference<byte[]> targetVersion = new AtomicReference<byte[]>();
      api.exportRawDeltas(waveId, waveletId,
          version.toByteArray(), lastVersion.toByteArray(), rpcServerUrl, new RawDeltasListener() {
        @Override
        public void onSuccess(List<byte[]> rawDeltas, byte[] rawTargetVersion) {
          deltas.addAll(rawDeltas);
          targetVersion.set(rawTargetVersion);
        }

        @Override
        public void onFailire(String message) {
          Console.error(search);
        }
      });
      if (deltas.isEmpty()) {
        Console.println(" empty response");
        continue;
      }
      version = ProtocolHashedVersion.parseFrom(targetVersion.get());
      Console.println(" Ok, got to version " + version.getVersion());
      writeDeltasToFile(waveId, waveletId, deltas, fetchNum);
      for (byte[] delta : deltas) {
        attachmentIds.addAll(DeltaParser.getAttachemntIds(ProtocolWaveletDelta.parseFrom(delta)));
      }
    }
View Full Code Here

      }
      // TODO (Andrew Kaplanov) import attachments
      newDelta.setOperation(i, newOp);
    }
    if (wavelet == null) {
      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
          setHistoryHash(ByteString.copyFrom(HASH_FACTORY.createVersionZero(waveletName).getHistoryHash())).
          build();
      newDelta.setHashedVersion(ver);
    } else {
      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
          setHistoryHash(ByteString.copyFrom(wavelet.getCurrentVersion().getHistoryHash())).
          build();
      newDelta.setHashedVersion(ver);
    }
    return newDelta.build();
View Full Code Here

TOP

Related Classes of org.waveprotocol.wave.federation.Proto.ProtocolHashedVersion

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.