@Override public void consume(Nindo op) { try { DocOp docOp = doc.consumeAndReturnInvertible(op); if (outputSink != null) { outputSink.consume(docOp); } } catch (OperationException oe) { throw new OperationRuntimeException("DocProviders trivial sequencer consume failed.", oe); } } };
@Override public void consume(Nindo op) { try { document.consumeAndReturnInvertible(op); } catch (OperationException oe) { throw new OperationRuntimeException("sequencer consume failed.", oe); } } };
@Override public void consume(Nindo op) { try { document.consumeAndReturnInvertible(op); } catch (OperationException oe) { throw new OperationRuntimeException("sequencer consume failed.", oe); } } };
private void consumeNindo(Nindo op) throws OperationException { indexedCopy.consume(indexed.consumeAndReturnInvertible(op)); }
private void consumeNindo(Nindo op) throws OperationException { indexedCopy.consume(indexed.consumeAndReturnInvertible(op)); }
private DocOp getDocOpFromNindo(Nindo nindo) { try { return DocProviders.POJO.build(editor.getDocumentInitialization(), DocumentSchema.NO_SCHEMA_CONSTRAINTS).consumeAndReturnInvertible(nindo); } catch (OperationException e) { throw new OperationRuntimeException("initialization failed", e); } }
private DocOp getDocOpFromNindo(Nindo nindo) { try { return DocProviders.POJO.build(editor.getDocumentInitialization(), DocumentSchema.NO_SCHEMA_CONSTRAINTS).consumeAndReturnInvertible(nindo); } catch (OperationException e) { throw new OperationRuntimeException("initialization failed", e); } }
Nindo nindo = RandomNindoGenerator.generate(random, STRUCT_PARAMS, ConversationSchemas.BLIP_SCHEMA_CONSTRAINTS, copy); DocOp op = indexedDoc.consumeAndReturnInvertible(nindo); copy.consume(op); Nindo nindo = RandomNindoGenerator.generate(random, ANNO_PARAMS, ConversationSchemas.BLIP_SCHEMA_CONSTRAINTS, copy); DocOp op = indexedDoc.consumeAndReturnInvertible(nindo); Nindo nindo = RandomNindoGenerator.generate(random, GENERAL_PARAMS, ConversationSchemas.BLIP_SCHEMA_CONSTRAINTS, copy); DocOp op = indexedDoc.consumeAndReturnInvertible(nindo); copy.consume(op); checkRender(cxt);
private Pair<Nindo, IndexedDocument<Node, Element, Text>> applyTokensToEmptyDoc( RichTextTokenizer tokens) { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("<body><line/></body>"); Point<Node> insertAt = doc.locate(3); Nindo.Builder builder = new Nindo.Builder(); builder.skip(3); new RichTextMutationBuilder().applyMutations(tokens, builder, doc, insertAt.getContainer()); Nindo nindo = builder.build(); try { doc.consumeAndReturnInvertible(nindo); } catch (OperationException e) { fail("Operation Exception " + e); } return new Pair<Nindo, IndexedDocument<Node,Element,Text>>(nindo, doc); }
private Pair<Nindo, IndexedDocument<Node, Element, Text>> applyTokensToEmptyDoc( RichTextTokenizer tokens) { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("<body><line/></body>"); Point<Node> insertAt = doc.locate(3); Nindo.Builder builder = new Nindo.Builder(); builder.skip(3); new RichTextMutationBuilder().applyMutations(tokens, builder, doc, insertAt.getContainer()); Nindo nindo = builder.build(); try { doc.consumeAndReturnInvertible(nindo); } catch (OperationException e) { fail("Operation Exception " + e); } return new Pair<Nindo, IndexedDocument<Node,Element,Text>>(nindo, doc); }
System.out.println(doc); DocOp docOp = doc.consumeAndReturnInvertible(op);
System.out.println(doc); DocOp docOp = doc.consumeAndReturnInvertible(op);
public void testRedundantAnnotationsPreserved() throws OperationException { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("abcdefg"); IndexedDocument<Node, Element, Text> doc2 = DocProviders.POJO.parse("abcdefg"); Nindo.Builder b; b = new Nindo.Builder(); b.startAnnotation("a", "1"); b.skip(7); b.endAnnotation("a"); checkApply(doc2, b.build()); b = new Nindo.Builder(); b.startAnnotation("a", null); b.skip(2); b.startAnnotation("a", "2"); b.skip(2); b.startAnnotation("a", null); b.skip(3); b.endAnnotation("a"); DocOp docOp = doc.consumeAndReturnInvertible(b.build()); doc2.consumeAndReturnInvertible(Nindo.fromDocOp(docOp, true)); assertEquals( DocOpUtil.toXmlString(doc.asOperation()), DocOpUtil.toXmlString(doc2.asOperation())); }
public void testRedundantAnnotationsPreserved() throws OperationException { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("abcdefg"); IndexedDocument<Node, Element, Text> doc2 = DocProviders.POJO.parse("abcdefg"); Nindo.Builder b; b = new Nindo.Builder(); b.startAnnotation("a", "1"); b.skip(7); b.endAnnotation("a"); checkApply(doc2, b.build()); b = new Nindo.Builder(); b.startAnnotation("a", null); b.skip(2); b.startAnnotation("a", "2"); b.skip(2); b.startAnnotation("a", null); b.skip(3); b.endAnnotation("a"); DocOp docOp = doc.consumeAndReturnInvertible(b.build()); doc2.consumeAndReturnInvertible(Nindo.fromDocOp(docOp, true)); assertEquals( DocOpUtil.toXmlString(doc.asOperation()), DocOpUtil.toXmlString(doc2.asOperation())); }
public void XtestAnchorRemovalIsUnworthy2() throws OperationException { IndexedDocument<Node, Element, Text> d = DocProviders.POJO.build( new DocInitializationBuilder() .annotationBoundary(new AnnotationBoundaryMapBuilder().change("a", null, "b").build()) .elementStart(WorthyChangeChecker.THREAD_INLINE_ANCHOR_TAGNAME, Attributes.EMPTY_MAP) .elementEnd() .annotationBoundary(new AnnotationBoundaryMapBuilder().end("a").build()) .build(), DocumentSchema.NO_SCHEMA_CONSTRAINTS); DocOp op = d.consumeAndReturnInvertible(new Nindo.Builder() { { deleteElementStart(); deleteElementEnd(); } }.build()); assertFalse(WorthyChangeChecker.isWorthy(op)); }
public void XtestAnchorRemovalIsUnworthy2() throws OperationException { IndexedDocument<Node, Element, Text> d = DocProviders.POJO.build( new DocInitializationBuilder() .annotationBoundary(new AnnotationBoundaryMapBuilder().change("a", null, "b").build()) .elementStart(WorthyChangeChecker.THREAD_INLINE_ANCHOR_TAGNAME, Attributes.EMPTY_MAP) .elementEnd() .annotationBoundary(new AnnotationBoundaryMapBuilder().end("a").build()) .build(), DocumentSchema.NO_SCHEMA_CONSTRAINTS); DocOp op = d.consumeAndReturnInvertible(new Nindo.Builder() { { deleteElementStart(); deleteElementEnd(); } }.build()); assertFalse(WorthyChangeChecker.isWorthy(op)); }
public void testAnchorRemovalIsUnworthy1() throws OperationException { IndexedDocument<Node, Element, Text> d = DocProviders.POJO.build( new DocInitializationBuilder() .annotationBoundary(new AnnotationBoundaryMapBuilder().change("a", null, "b").build()) .characters("a") .annotationBoundary(new AnnotationBoundaryMapBuilder().end("a").build()) .characters("a") .elementStart(WorthyChangeChecker.THREAD_INLINE_ANCHOR_TAGNAME, Attributes.EMPTY_MAP) .elementEnd() .build(), DocumentSchema.NO_SCHEMA_CONSTRAINTS); DocOp op = d.consumeAndReturnInvertible(new Nindo.Builder() { { skip(2); deleteElementStart(); deleteElementEnd(); } }.build()); assertFalse(WorthyChangeChecker.isWorthy(op)); }
public void testAnchorRemovalIsUnworthy1() throws OperationException { IndexedDocument<Node, Element, Text> d = DocProviders.POJO.build( new DocInitializationBuilder() .annotationBoundary(new AnnotationBoundaryMapBuilder().change("a", null, "b").build()) .characters("a") .annotationBoundary(new AnnotationBoundaryMapBuilder().end("a").build()) .characters("a") .elementStart(WorthyChangeChecker.THREAD_INLINE_ANCHOR_TAGNAME, Attributes.EMPTY_MAP) .elementEnd() .build(), DocumentSchema.NO_SCHEMA_CONSTRAINTS); DocOp op = d.consumeAndReturnInvertible(new Nindo.Builder() { { skip(2); deleteElementStart(); deleteElementEnd(); } }.build()); assertFalse(WorthyChangeChecker.isWorthy(op)); }
public void testNoRedundantSkips() throws OperationException { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("abcdefghijkl"); Nindo.Builder b; b = new Nindo.Builder(); b.skip(1); b.startAnnotation("a", "1"); b.skip(1); b.startAnnotation("b", "1"); b.skip(1); b.endAnnotation("a"); b.skip(1); b.startAnnotation("c", "1"); b.skip(1); b.endAnnotation("c"); b.skip(1); b.endAnnotation("b"); b.skip(1); b.startAnnotation("c", "1"); b.skip(1); b.endAnnotation("c"); checkApply(doc, b.build()); b = new Nindo.Builder(); b.startAnnotation("z", "1"); b.skip(doc.size()); b.endAnnotation("z"); DocOp docOp = doc.consumeAndReturnInvertible(b.build()); assertEquals(3, docOp.size()); }
public void testNoRedundantSkips() throws OperationException { IndexedDocument<Node, Element, Text> doc = DocProviders.POJO.parse("abcdefghijkl"); Nindo.Builder b; b = new Nindo.Builder(); b.skip(1); b.startAnnotation("a", "1"); b.skip(1); b.startAnnotation("b", "1"); b.skip(1); b.endAnnotation("a"); b.skip(1); b.startAnnotation("c", "1"); b.skip(1); b.endAnnotation("c"); b.skip(1); b.endAnnotation("b"); b.skip(1); b.startAnnotation("c", "1"); b.skip(1); b.endAnnotation("c"); checkApply(doc, b.build()); b = new Nindo.Builder(); b.startAnnotation("z", "1"); b.skip(doc.size()); b.endAnnotation("z"); DocOp docOp = doc.consumeAndReturnInvertible(b.build()); assertEquals(3, docOp.size()); }