@Override public void requestHistory(WaveletName waveletName, String domain, ProtocolHashedVersion startVersion, ProtocolHashedVersion endVersion, long lengthLimit, HistoryResponseListener listener) { listener.onFailure(FederationErrors.badRequest("Federation is not enabled!")); }
public static FederationError newFederationError(FederationError.Code errorCode, String errorMessage) { return FederationError.newBuilder() .setErrorCode(errorCode) .setErrorMessage(errorMessage).build(); }
@Override public void waveletDeltaUpdate(WaveletName waveletName, List<ByteString> deltas, WaveletUpdateCallback callback) { callback.onFailure(FederationErrors.badRequest("Federation is not enabled!")); }
private ProtocolSignedDelta createProtocolSignedDelta(ProtocolWaveletOperation operation, HashedVersion protocolHashedVersion) { ProtocolWaveletDelta delta = ProtocolWaveletDelta.newBuilder() .setAuthor(AUTHOR) .setHashedVersion(CoreWaveletOperationSerializer.serialize(protocolHashedVersion)) .addOperation(operation) .build(); return ProtocolSignedDelta.newBuilder() .setDelta(delta.toByteString()) .addSignature(SIGNATURE) .build(); } }
/** * Return the updated ProtocolHashedVersion for the given input. * * @param appliedDeltaBytes raw bytes of appliedDelta * @param appliedAt version delta was applied at, must match appliedDelta * @param operationsApplied number of operations applied, must match appliedDelta * @return new ProtocolHashedVersion */ public static ProtocolHashedVersion create(ByteString appliedDeltaBytes, ProtocolHashedVersion appliedAt, int operationsApplied) { // TODO(thorogood): verify appliedAt and operationsApplied against the raw bytes? return ProtocolHashedVersion.newBuilder() .setVersion(appliedAt.getVersion() + operationsApplied) .setHistoryHash(nextHash(appliedAt.getHistoryHash(), appliedDeltaBytes)) .build(); }
private ProtocolDocumentOperation.Component.ElementStart makeElementStart( String type, Attributes attributes) { ProtocolDocumentOperation.Component.ElementStart.Builder e = ProtocolDocumentOperation.Component.ElementStart.newBuilder(); e.setType(type); for (String name : attributes.keySet()) { e.addAttribute(ProtocolDocumentOperation.Component.KeyValuePair.newBuilder() .setKey(name).setValue(attributes.get(name)).build()); } return e.build(); }
@Override public void updateAttributes(AttributesUpdate attributes) { ProtocolDocumentOperation.Component.UpdateAttributes.Builder u = ProtocolDocumentOperation.Component.UpdateAttributes.newBuilder(); if (attributes.changeSize() == 0) { u.setEmpty(true); } else { for (int i = 0; i < attributes.changeSize(); i++) { u.addAttributeUpdate(makeKeyValueUpdate( attributes.getChangeKey(i), attributes.getOldValue(i), attributes.getNewValue(i))); } } output.addComponent(newComponentBuilder().setUpdateAttributes(u.build()).build()); }
private ProtocolDocumentOperation.Component.KeyValueUpdate makeKeyValueUpdate( String key, String oldValue, String newValue) { ProtocolDocumentOperation.Component.KeyValueUpdate.Builder kvu = ProtocolDocumentOperation.Component.KeyValueUpdate.newBuilder(); kvu.setKey(key); if (oldValue != null) { kvu.setOldValue(oldValue); } if (newValue != null) { kvu.setNewValue(newValue); } return kvu.build(); } });
public static FederationError newFederationError(FederationError.Code errorCode) { return FederationError.newBuilder().setErrorCode(errorCode).build(); }
@Override public void deleteElementStart(String type, Attributes attributes) { ProtocolDocumentOperation.Component.ElementStart e = makeElementStart(type, attributes); output.addComponent(newComponentBuilder().setDeleteElementStart(e).build()); }
@Override public void getDeltaSignerInfo(ByteString signerId, WaveletName waveletName, ProtocolHashedVersion deltaEndVersion, DeltaSignerInfoResponseListener listener) { listener.onFailure(FederationErrors.badRequest("Federation is not enabled!")); }
@Override public void postSignerInfo(String destinationDomain, ProtocolSignerInfo signerInfo, PostSignerInfoResponseListener listener) { listener.onFailure(FederationErrors.badRequest("Federation is not enabled!")); } }
@Override public void submitRequest(WaveletName waveletName, ProtocolSignedDelta delta, SubmitResultListener listener) { listener.onFailure(FederationErrors.badRequest("Federation is not enabled!")); }
public FederationException(FederationError error) { super(error.getErrorCode() + " " + error.getErrorMessage()); this.error = error; }
/** * Returns the hash algorithm used to calculate the signer id from the cert * chain. */ public HashAlgorithm getHashAlgorithm() { return protobuf.getHashAlgorithm(); }
/** * The domain that this signer claims to belong to. It is the responsibility * of the client of this interface to verify that the domain matches the * principal to which the target certificate of the certificate chain was * issued. */ public String getDomain() { return protobuf.getDomain(); }
@Override public WaveletFederationListener load(String domain) { return federationHostFactory.listenerForDomain(domain); } });
public static FederationError internalServerError(String errorMessage) { return newFederationError(FederationError.Code.INTERNAL_SERVER_ERROR, errorMessage); } }
private ProtocolSignedDelta createProtocolSignedDelta(ProtocolWaveletOperation operation, HashedVersion protocolHashedVersion) { ProtocolWaveletDelta delta = ProtocolWaveletDelta.newBuilder() .setAuthor(AUTHOR) .setHashedVersion(CoreWaveletOperationSerializer.serialize(protocolHashedVersion)) .addOperation(operation) .build(); return ProtocolSignedDelta.newBuilder() .setDelta(delta.toByteString()) .addSignature(SIGNATURE) .build(); } }
@Override public void waveletCommitUpdate(WaveletName waveletName, ProtocolHashedVersion committedVersion, WaveletUpdateCallback callback) { callback.onFailure(FederationErrors.badRequest("Federation is not enabled!")); } };