/** * Retrieves the title of a {@link Wavelet}. * * @param wavelet The {@link Wavelet} to retrieve the title from. * @param conversation The wavelet conversation * @return the title of the {@link Wavelet}, or an empty string if it has * no title. */ private static String getTitle(Wavelet wavelet, Conversation conversation) { ConversationThread rootThread = conversation.getRootThread(); if (rootThread == null) { return ""; } ConversationBlip firstBlip = rootThread.getFirstBlip(); if (firstBlip == null) { return ""; } Document doc = firstBlip.getContent(); return TitleHelper.extractTitle(doc); }
public void testEmptyTitleWhenNoAnnotation() { assertEquals("", TitleHelper.extractTitle(getDoc( "<body><line/>Some text<line/>Some more text</body>"))); assertEquals("", TitleHelper.extractTitle(getDoc( "Just text"))); assertFalse(TitleHelper.hasExplicitTitle(doc)); }
public void testEmptyTitleWhenNoAnnotation() { assertEquals("", TitleHelper.extractTitle(getDoc( "<body><line/>Some text<line/>Some more text</body>"))); assertEquals("", TitleHelper.extractTitle(getDoc( "Just text"))); assertFalse(TitleHelper.hasExplicitTitle(doc)); }
public void testEmptyValueUsesEncompassedText() { getDoc("<body><line id=\"1\"/>Some text<line/>Some more text</body>"); int startText = findLocationById(doc, "1") + 2; for (int i = 0; i <= startText; i++) { doc.resetAnnotation(i, startText + 7, TitleHelper.TITLE_KEY, ""); assertEquals("Some te", TitleHelper.extractTitle(doc)); } doc.resetAnnotation(startText + 1, startText + 7, TitleHelper.TITLE_KEY, ""); assertEquals("ome te", TitleHelper.extractTitle(doc)); doc.resetAnnotation(startText + 1, startText + 13, TitleHelper.TITLE_KEY, ""); assertEquals("ome textSo", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); }
public void testEmptyValueUsesEncompassedText() { getDoc("<body><line id=\"1\"/>Some text<line/>Some more text</body>"); int startText = findLocationById(doc, "1") + 2; for (int i = 0; i <= startText; i++) { doc.resetAnnotation(i, startText + 7, TitleHelper.TITLE_KEY, ""); assertEquals("Some te", TitleHelper.extractTitle(doc)); } doc.resetAnnotation(startText + 1, startText + 7, TitleHelper.TITLE_KEY, ""); assertEquals("ome te", TitleHelper.extractTitle(doc)); doc.resetAnnotation(startText + 1, startText + 13, TitleHelper.TITLE_KEY, ""); assertEquals("ome textSo", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); }
String title = extractTitle(doc); if(title == null) { return "";
if (firstBlip != null) { Document firstBlipContents = firstBlip.getContent(); title = TitleHelper.extractTitle(firstBlipContents).trim(); } else { title = EMPTY_WAVELET_TITLE;
public void testExplicitValueOverrides() { getDoc("<body><line/>Some text<line/>Some more text</body>"); doc.setAnnotation(2, 7, TitleHelper.TITLE_KEY, "Blah"); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
public void testExplicitValueOverrides() { getDoc("<body><line/>Some text<line/>Some more text</body>"); doc.setAnnotation(2, 7, TitleHelper.TITLE_KEY, "Blah"); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
public void testSettingTitleChangesExpliciticity() { getDoc("<body><line id=\"1\"/>Some text<line/>Some mor</body>"); int startText = findLocationById(doc, "1") + 2; // Explicit set on blank doc TitleHelper.setExplicitTitle(doc, "Blah"); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); // Change to implicit TitleHelper.setImplicitTitle(doc, startText + 1, startText + 7); assertEquals("ome te", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); // Back to explicit TitleHelper.setExplicitTitle(doc, "Blah2"); assertEquals("Blah2", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
public void testFindingImplicitTitleDoesntOverrideExplicit() { getDoc("<body><line/>Some text<line/>Some more text</body>"); TitleHelper.setExplicitTitle(doc, "Blah"); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
public void testSettingTitleChangesExpliciticity() { getDoc("<body><line id=\"1\"/>Some text<line/>Some mor</body>"); int startText = findLocationById(doc, "1") + 2; // Explicit set on blank doc TitleHelper.setExplicitTitle(doc, "Blah"); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); // Change to implicit TitleHelper.setImplicitTitle(doc, startText + 1, startText + 7); assertEquals("ome te", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); // Back to explicit TitleHelper.setExplicitTitle(doc, "Blah2"); assertEquals("Blah2", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
public void testFindingImplicitTitleDoesntOverrideExplicit() { getDoc("<body><line/>Some text<line/>Some more text</body>"); TitleHelper.setExplicitTitle(doc, "Blah"); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Blah", TitleHelper.extractTitle(doc)); assertTrue(TitleHelper.hasExplicitTitle(doc)); }
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)); }
assertEquals("Some text", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); assertEquals("Some text.", TitleHelper.extractTitle(doc)); assertEquals("Some text!", TitleHelper.extractTitle(doc)); assertEquals("Some text!!", TitleHelper.extractTitle(doc)); assertEquals("Some text!?.!", TitleHelper.extractTitle(doc)); assertEquals("The number 5.5 is good", TitleHelper.extractTitle(doc)); assertEquals("Some text.", TitleHelper.extractTitle(doc)); assertEquals("Some text!?.!", TitleHelper.extractTitle(doc)); assertEquals("", TitleHelper.extractTitle(doc)); assertEquals(firstLineLocation, doc.firstAnnotationChange(0, doc.size(), TitleHelper.TITLE_KEY, null)); DocHelper.ensureNodeBoundary(doc.locate(startText + i), doc, cxt.textNodeOrganiser()); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some 5.5 text!?.!", TitleHelper.extractTitle(doc)); DocHelper.ensureNodeBoundary(doc.locate(startText + j), doc, cxt.textNodeOrganiser()); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some 5.5 text!?.!", TitleHelper.extractTitle(doc));
assertEquals("Some text", TitleHelper.extractTitle(doc)); assertFalse(TitleHelper.hasExplicitTitle(doc)); assertEquals("Some text.", TitleHelper.extractTitle(doc)); assertEquals("Some text!", TitleHelper.extractTitle(doc)); assertEquals("Some text!!", TitleHelper.extractTitle(doc)); assertEquals("Some text!?.!", TitleHelper.extractTitle(doc)); assertEquals("The number 5.5 is good", TitleHelper.extractTitle(doc)); assertEquals("Some text.", TitleHelper.extractTitle(doc)); assertEquals("Some text!?.!", TitleHelper.extractTitle(doc)); assertEquals("", TitleHelper.extractTitle(doc)); assertEquals(firstLineLocation, doc.firstAnnotationChange(0, doc.size(), TitleHelper.TITLE_KEY, null)); DocHelper.ensureNodeBoundary(doc.locate(startText + i), doc, cxt.textNodeOrganiser()); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some 5.5 text!?.!", TitleHelper.extractTitle(doc)); DocHelper.ensureNodeBoundary(doc.locate(startText + j), doc, cxt.textNodeOrganiser()); TitleHelper.maybeFindAndSetImplicitTitle(doc); assertEquals("Some 5.5 text!?.!", TitleHelper.extractTitle(doc));