@SuppressWarnings("rawtypes") private void checkGetAppliedDeltasThrowsException(HashedVersion startVersion, HashedVersion endVersion, Receiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> receiver, Class exceptionClass) { try { target.getAppliedDeltaHistory(startVersion, endVersion, receiver); fail("Expected exception not thrown."); } catch (Exception ex) { assertEquals(IllegalArgumentException.class, exceptionClass); } }
@SuppressWarnings("rawtypes") private void checkGetAppliedDeltasThrowsException(HashedVersion startVersion, HashedVersion endVersion, Receiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> receiver, Class exceptionClass) { try { target.getAppliedDeltaHistory(startVersion, endVersion, receiver); fail("Expected exception not thrown."); } catch (Exception ex) { assertEquals(IllegalArgumentException.class, exceptionClass); } }
@Override public void requestHistory(HashedVersion startVersion, HashedVersion endVersion, Receiver<ByteStringMessage<ProtocolAppliedWaveletDelta>> receiver) throws AccessControlException, WaveletStateException { acquireReadLock(); try { checkStateOk(); checkVersionIsDeltaBoundary(startVersion, "start version"); checkVersionIsDeltaBoundary(endVersion, "end version"); waveletState.getAppliedDeltaHistory(startVersion, endVersion, receiver); } finally { releaseReadLock(); } }
final List<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltas = new ArrayList<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(beginVersion, endVersion, new Receiver<ByteStringMessage<ProtocolAppliedWaveletDelta>>() {
final List<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltas = new ArrayList<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(beginVersion, endVersion, new Receiver<ByteStringMessage<ProtocolAppliedWaveletDelta>>() {
/** * Checks that a request for the deltas spanning a contiguous sequence of * delta facets produces correct results. */ private void checkHistoryForDeltas(WaveletDeltaRecord... deltas) { HashedVersion beginVersion = deltas[0].getAppliedAtVersion(); HashedVersion endVersion = deltas[deltas.length - 1].getTransformedDelta().getResultingVersion(); { List<TransformedWaveletDelta> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.getTransformedDelta()); } ListReceiver<TransformedWaveletDelta> transformedDeltasReceiver = new ListReceiver<TransformedWaveletDelta>(); target.getTransformedDeltaHistory(beginVersion, endVersion, transformedDeltasReceiver); assertTrue(Iterables.elementsEqual(expected, transformedDeltasReceiver)); } { List<ByteStringMessage<ProtocolAppliedWaveletDelta>> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.getAppliedDelta()); } ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltasReceiver = new ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(beginVersion, endVersion, appliedDeltasReceiver); assertTrue(Iterables.elementsEqual(expected, appliedDeltasReceiver)); } }
/** * Checks that a request for the deltas spanning a contiguous sequence of * delta facets produces correct results. */ private void checkHistoryForDeltas(WaveletDeltaRecord... deltas) { HashedVersion beginVersion = deltas[0].getAppliedAtVersion(); HashedVersion endVersion = deltas[deltas.length - 1].getTransformedDelta().getResultingVersion(); { List<TransformedWaveletDelta> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.getTransformedDelta()); } ListReceiver<TransformedWaveletDelta> transformedDeltasReceiver = new ListReceiver<TransformedWaveletDelta>(); target.getTransformedDeltaHistory(beginVersion, endVersion, transformedDeltasReceiver); assertTrue(Iterables.elementsEqual(expected, transformedDeltasReceiver)); } { List<ByteStringMessage<ProtocolAppliedWaveletDelta>> expected = Lists.newArrayListWithExpectedSize(deltas.length); for (WaveletDeltaRecord d : deltas) { expected.add(d.getAppliedDelta()); } ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltasReceiver = new ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(beginVersion, endVersion, appliedDeltasReceiver); assertTrue(Iterables.elementsEqual(expected, appliedDeltasReceiver)); } }
public void testSingleDeltaHistoryAccessible() throws Exception { appendDeltas(d1); target.persist(d1.getResultingVersion()); ListReceiver<TransformedWaveletDelta> transformedDeltasReceiver = new ListReceiver<TransformedWaveletDelta>(); target.getTransformedDeltaHistory(V0, d1.getResultingVersion(), transformedDeltasReceiver); assertEquals(1, transformedDeltasReceiver.size()); assertEquals(d1.getTransformedDelta(), transformedDeltasReceiver.get(0)); ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltasReceiver = new ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(V0, d1.getResultingVersion(), appliedDeltasReceiver); assertEquals(1, appliedDeltasReceiver.size()); assertEquals(d1.getAppliedDelta(), Iterables.getOnlyElement(appliedDeltasReceiver)); }
public void testSingleDeltaHistoryAccessible() throws Exception { appendDeltas(d1); target.persist(d1.getResultingVersion()); ListReceiver<TransformedWaveletDelta> transformedDeltasReceiver = new ListReceiver<TransformedWaveletDelta>(); target.getTransformedDeltaHistory(V0, d1.getResultingVersion(), transformedDeltasReceiver); assertEquals(1, transformedDeltasReceiver.size()); assertEquals(d1.getTransformedDelta(), transformedDeltasReceiver.get(0)); ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>> appliedDeltasReceiver = new ListReceiver<ByteStringMessage<Proto.ProtocolAppliedWaveletDelta>>(); target.getAppliedDeltaHistory(V0, d1.getResultingVersion(), appliedDeltasReceiver); assertEquals(1, appliedDeltasReceiver.size()); assertEquals(d1.getAppliedDelta(), Iterables.getOnlyElement(appliedDeltasReceiver)); }