/** * Applies the operation to this document, and then sends it to the output * sink. * * @param op mutation to apply */ @Override public void consume(Nindo op) { try { DocOp docOp = sink.consumeAndReturnInvertible(op); if (outputSink != null) { outputSink.consume(docOp); } } catch (OperationException e) { throw new OperationRuntimeException( "DocumentOperationSink constructed by DocumentOperationSinkFactory " + "generated an OperationException when attempting to apply " + op, e); } } }
/** * Check client has a document that looks like the following. */ public TestConfig checkClientDoc(int clientNumber, String xml) { clientsReceiveServerOperations(); DocInitialization expected = parse(xml).asOperation(); DocInitialization actual = clientMocks.get(clientNumber).getDoc().asOperation(); assertTrue("[Expected: " + expected + "] [Actual: " + actual + "]", OpComparators.SYNTACTIC_IDENTITY.equal(expected, actual)); return this; }
/** * Applies the given operation to the doc. * * @param operation * @throws OperationException */ private void applyOperation(WaveletOperation operation) throws OperationException { if (operation instanceof WaveletBlipOperation) { WaveletBlipOperation waveOp = (WaveletBlipOperation) operation; if (waveOp.getBlipOp() instanceof BlipContentOperation) { BlipContentOperation blipOp = (BlipContentOperation) waveOp.getBlipOp(); doc.consume(blipOp.getContentOp()); } } }
/** * Check client has a document that looks like the following. */ public TestConfig checkClientDoc(int clientNumber, String xml) { clientsReceiveServerOperations(); DocInitialization expected = parse(xml).asOperation(); DocInitialization actual = clientMocks.get(clientNumber).getDoc().asOperation(); assertTrue("[Expected: " + expected + "] [Actual: " + actual + "]", OpComparators.SYNTACTIC_IDENTITY.equal(expected, actual)); return this; }
/** * Applies the given operation to the doc. * * @param operation * @throws OperationException */ private void applyOperation(WaveletOperation operation) throws OperationException { if (operation instanceof WaveletBlipOperation) { WaveletBlipOperation waveOp = (WaveletBlipOperation) operation; if (waveOp.getBlipOp() instanceof BlipContentOperation) { BlipContentOperation blipOp = (BlipContentOperation) waveOp.getBlipOp(); doc.consume(blipOp.getContentOp()); } } }
private WaveletOperation makeBlipContentOp(String id, long timestamp) throws OperationException { if (!docs.containsKey(id)) { docs.put(id, DocProviders.POJO.parse("<x></x>")); } Nindo nindo = Nindo.insertCharacters(1, "hi"); DocOp op = docs.get(id).consumeAndReturnInvertible(nindo); return new WaveletBlipOperation(id, new BlipContentOperation(getContext(timestamp), op)); }
/** * Check client has a document that looks like the following. */ public TestConfig checkClientDoc(String xml) { DocInitialization expected = parse(xml).asOperation(); DocInitialization actual = clientMock.getDoc().asOperation(); assertTrue(OpComparators.SYNTACTIC_IDENTITY.equal(expected, actual)); return this; } }
private WaveletOperation makeBlipContentOp(String id, long timestamp) throws OperationException { if (!docs.containsKey(id)) { docs.put(id, DocProviders.POJO.parse("<x></x>")); } Nindo nindo = Nindo.insertCharacters(1, "hi"); DocOp op = docs.get(id).consumeAndReturnInvertible(nindo); return new WaveletBlipOperation(id, new BlipContentOperation(getContext(timestamp), op)); }
/** * Check client has a document that looks like the following. */ public TestConfig checkClientDoc(String xml) { DocInitialization expected = parse(xml).asOperation(); DocInitialization actual = clientMock.getDoc().asOperation(); assertTrue(OpComparators.SYNTACTIC_IDENTITY.equal(expected, actual)); return this; } }
/** * Applies an insertion to the document. */ public void doInsert(int offset, String chars) throws OperationException { Nindo nindo = Nindo.insertCharacters(offset, chars); DocOp op = doc.consumeAndReturnInvertible(nindo); BlipContentOperation blipOp = new BlipContentOperation( new WaveletOperationContext(participantId, 0L, 1), op); WaveletBlipOperation wop = new WaveletBlipOperation("blip id", blipOp); clientOperations.add(wop); }
/** * Applies an insertion to the document. */ public void doInsert(int offset, String chars) throws OperationException { Nindo nindo = Nindo.insertCharacters(offset, chars); DocOp op = doc.consumeAndReturnInvertible(nindo); BlipContentOperation blipOp = new BlipContentOperation( new WaveletOperationContext(participantId, 0L, 1), op); WaveletBlipOperation wop = new WaveletBlipOperation("blip id", blipOp); clientOperations.add(wop); }