Package org.waveprotocol.wave.federation.Proto

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


      for (ByteStringMessage<ProtocolAppliedWaveletDelta> appliedDelta : appliedDeltas) {
        LOG.info("Delta incoming: " + appliedDelta);

        // Log any illformed signed original deltas. TODO: Check if this can be removed.
        try {
          ProtocolWaveletDelta actualDelta = ProtocolWaveletDelta.parseFrom(
              appliedDelta.getMessage().getSignedOriginalDelta().getDelta());
          LOG.info("actual delta: " + actualDelta);
        } catch (InvalidProtocolBufferException e) {
          e.printStackTrace();
        }
View Full Code Here


                  waveletId, fromVersion);
              JSONArray rawDeltas = json.getJSONObject("data").getJSONArray("rawDeltas");
              if (rawDeltas.length() == 0) {
                break;
              }
              ProtocolWaveletDelta firstDelta = ProtocolWaveletDelta.parseFrom(
                  ProtocolAppliedWaveletDelta.parseFrom(
                  Base64.decodeBase64(rawDeltas.getString(0).getBytes())).
                  getSignedOriginalDelta().getDelta());
              ProtocolWaveletDelta lastDelta = ProtocolWaveletDelta.parseFrom(
                  ProtocolAppliedWaveletDelta.parseFrom(
                  Base64.decodeBase64(rawDeltas.getString(rawDeltas.length() - 1).getBytes())).
                  getSignedOriginalDelta().getDelta());
              if (firstDelta.getHashedVersion().getVersion() != fromVersion) {
                if (lastDelta.getHashedVersion().getVersion() == fromVersion - 1) {
                  break;
                }
                System.err.println("Error : expected version " + fromVersion
                    + ", got version " + firstDelta.getHashedVersion().getVersion());
                errorCount++;
                break;
              }
              String fileName = exportDir + "/"
                  + FileUtils.waveIdToPathSegment(WaveId.deserialise(waveId)) + "."
                  + FileUtils.waveletIdToPathSegment(waveletId) + "."
                  + new DecimalFormat(FILE_NUMBER_PATTERN).format(fetchNum) + ".json";
              writeFile(fileName, json.toString());
              fromVersion = lastDelta.getHashedVersion().getVersion() + 1;
            }
          }
          processedCount++;
        } catch (Exception ex) {
          errorCount++;
View Full Code Here

      LOG.warning("Remote tried to submit to non-local wavelet " + waveletName);
      listener.onFailure(FederationErrors.badRequest("Non-local wavelet update"));
      return;
    }

    ProtocolWaveletDelta delta;
    try {
      delta = ByteStringMessage.parseProtocolWaveletDelta(signedDelta.getDelta()).getMessage();
    } catch (InvalidProtocolBufferException e) {
      LOG.warning("Submit request: Invalid delta protobuf. WaveletName: " + waveletName, e);
      listener.onFailure(FederationErrors.badRequest("Signed delta contains invalid delta"));
      return;
    }

    // Disallow creation of wavelets by remote users.
    if (delta.getHashedVersion().getVersion() == 0) {
      LOG.warning("Remote user tried to submit delta at version 0 - disallowed. " + signedDelta);
      listener.onFailure(FederationErrors.badRequest("Remote users may not create wavelets."));
      return;
    }
View Full Code Here

      SubmitRequestListener requestListener) {
    for (Entry<WaveletName, RobotWaveletData> entry : results.getOpenWavelets().entrySet()) {
      WaveletName waveletName = entry.getKey();
      RobotWaveletData w = entry.getValue();
      for (WaveletDelta delta : w.getDeltas()) {
        ProtocolWaveletDelta protocolDelta = CoreWaveletOperationSerializer.serialize(delta);
        waveletProvider.submitRequest(waveletName, protocolDelta, requestListener);
      }
    }
  }
View Full Code Here

TOP

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

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.