@SuppressWarnings({"unchecked", "rawtypes"}) // Adapter public DocumentProxy(MutableDocument delegate, String noDelegateErrorMessage) { super(delegate, noDelegateErrorMessage); Preconditions.checkArgument(delegate.getDocumentElement() instanceof Doc.E, "Incompatibel delegate type - must be of the Doc.* variety of nodes"); } }
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { N rootThreadNode = doc.getFirstChild(doc.getDocumentElement()); E rootThread = doc.asElement(rootThreadNode); doc.createChildElement(rootThread, "blip", Collections.singletonMap( "id", idGenerator.newBlipId())); } });
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { N rootThreadNode = doc.getFirstChild(doc.getDocumentElement()); E rootThread = doc.asElement(rootThreadNode); doc.createChildElement(rootThread, "blip", Collections.singletonMap( "id", idGenerator.newBlipId())); } });
@Override public E getDocumentElement() { return getDelegate().getDocumentElement(); }
@Override public <N, E extends N, T extends N> Object exec(MutableDocument<N, E, T> doc) { return doc.createChildElement(doc.getDocumentElement(), "foreign", Attributes.EMPTY_MAP); } });
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { doc.createChildElement( doc.getDocumentElement(), "x", Collections.<String, String>emptyMap()); } });
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { doc.createChildElement( doc.getDocumentElement(), "x", Collections.<String, String>emptyMap()); } });
/** Insert bad WantedEvaluation data. */ private static <N, E extends N, T extends N> void insertInvalidEvaluation( MutableDocument<N, E, T> doc) { Map<String, String> attributes = CollectionUtils.newHashMap(); attributes.put(DocumentBasedAbuseStore.AGENT_ATTR, "invalid agent"); attributes.put(DocumentBasedAbuseStore.CERTAINTY_ATTR, "0.0"); attributes.put(DocumentBasedAbuseStore.TIMESTAMP_ATTR, "1234"); attributes.put(DocumentBasedAbuseStore.COMMENT_ATTR, "no comment"); attributes.put(DocumentBasedAbuseStore.WANTED_ATTR, "true"); doc.createChildElement(doc.getDocumentElement(), DocumentBasedAbuseStore.WANTED_EVAL_TAG, attributes); }
/** Insert bad WantedEvaluation data. */ private static <N, E extends N, T extends N> void insertInvalidEvaluation( MutableDocument<N, E, T> doc) { Map<String, String> attributes = CollectionUtils.newHashMap(); attributes.put(DocumentBasedAbuseStore.AGENT_ATTR, "invalid agent"); attributes.put(DocumentBasedAbuseStore.CERTAINTY_ATTR, "0.0"); attributes.put(DocumentBasedAbuseStore.TIMESTAMP_ATTR, "1234"); attributes.put(DocumentBasedAbuseStore.COMMENT_ATTR, "no comment"); attributes.put(DocumentBasedAbuseStore.WANTED_ATTR, "true"); doc.createChildElement(doc.getDocumentElement(), DocumentBasedAbuseStore.WANTED_EVAL_TAG, attributes); }
/** * Adds a tag to the document. * * @param tagName The name of the tag. * @param i The index at which to insert the tag. */ public void addTag(String tagName, int i) { E node = getNthTagNode(i); El<N> point = Point.<N>inElement(doc.getDocumentElement(), node); XmlStringBuilder xml = getXmlFor(tagName); doc.insertXml(point, xml); }
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { E top = DocHelper.getFirstChildElement(doc, doc.getDocumentElement()); assertEquals(foreign, top); assertNull(doc.getNextSibling(top)); } });
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { N rootThreadNode = doc.getFirstChild(doc.getDocumentElement()); E rootThread = doc.asElement(rootThreadNode); doc.createChildElement(rootThread, "blip", Collections.singletonMap( "id", idGenerator.newBlipId())); } });
@Override public <N, E extends N, T extends N> void exec(MutableDocument<N, E, T> doc) { N rootThreadNode = doc.getFirstChild(doc.getDocumentElement()); E rootThread = doc.asElement(rootThreadNode); doc.createChildElement(rootThread, "blip", Collections.singletonMap( "id", idGenerator.newBlipId())); } });
public void testGetOrCreateSucceedsOnOldEmptyDocument() { MutableDocument<Node, Element, Text> doc = getDoc(""); Element top = DocHelper.getOrCreateFirstTopLevelElement(doc, "foo"); assertEquals(doc.getFirstChild(doc.getDocumentElement()), top); }
public void testGetOrCreateSucceedsOnOldEmptyDocument() { MutableDocument<Node, Element, Text> doc = getDoc(""); Element top = DocHelper.getOrCreateFirstTopLevelElement(doc, "foo"); assertEquals(doc.getFirstChild(doc.getDocumentElement()), top); }
private static <N, E extends N, T extends N> int locateAfterLineElementInner( MutableDocument<N, E, T> doc) { for (E el : DocIterate.deepElementsReverse(doc, doc.getDocumentElement(), null)) { if (LineContainers.isLineContainer(doc, el)) { Point<N> point = Point.inElement((N) el, null); return doc.getLocation(point); } } LineContainers.appendLine(doc, XmlStringBuilder.createEmpty()); return locateAfterLineElement(doc); }
public void testMatchingElement() { MutableDocument<Node, Element, Text> doc = getDoc("<x/>hello"); Node n = doc.getDocumentElement().getFirstChild(); assertFalse(DocHelper.isMatchingElement(doc, n.getNextSibling(), "x")); assertFalse(DocHelper.isMatchingElement(doc, n, "y")); assertTrue(DocHelper.isMatchingElement(doc, n, "x")); }
public void testJumpOutPreservesIdentityWherePossible() { MutableDocument<Node, Element, Text> doc = getDoc("<x/>hello"); Node x = doc.getDocumentElement().getFirstChild(); Point<Node> afterX = Point.after(doc, x); Point<Node> inText = Point.inText(x.getNextSibling(), 2); Point<Node> inX = Point.end(x); assertSame(afterX, DocHelper.jumpOut(doc, afterX, DocHelper.ROOT_PREDICATE)); assertSame(inText, DocHelper.jumpOut(doc, inText, DocHelper.ROOT_PREDICATE)); assertSame(inX, DocHelper.jumpOut(doc, inX, IS_X)); }
public void testFindingImplicitTitleClearsFromInvalidDocuments() { getDoc("<body><line/>Some text.<line/>Some more text</body>"); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some text.", TitleHelper.extractTitle(doc)); doc.emptyElement(doc.getDocumentElement()); doc.appendXml(XmlStringBuilder.createText("Blah. Blah").wrap("x")); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); assertEquals(-1, doc.firstAnnotationChange(0, doc.size(), TitleHelper.TITLE_KEY, null)); }
public void testFindingImplicitTitleClearsFromInvalidDocuments() { getDoc("<body><line/>Some text.<line/>Some more text</body>"); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some text.", TitleHelper.extractTitle(doc)); doc.emptyElement(doc.getDocumentElement()); doc.appendXml(XmlStringBuilder.createText("Blah. Blah").wrap("x")); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); assertEquals(-1, doc.firstAnnotationChange(0, doc.size(), TitleHelper.TITLE_KEY, null)); }