private void setLists(Article article, ParsedPage page) { List<List<String>> lists = new ArrayList<List<String>>(); for (DefinitionList dl : page.getDefinitionLists()) { List<String> l = new ArrayList<String>(); for (ContentElement c : dl.getDefinitions()) { l.add(c.getText()); } lists.add(l); } for (NestedListContainer dl : page.getNestedLists()) { List<String> l = new ArrayList<String>(); for (NestedList nl : dl.getNestedLists()) { l.add(nl.getText()); } lists.add(l); } article.setLists(lists); }
private void setLinksInLists(final List<Link> links, final List<Link> externalLinks, ParsedPage page){ int listId = 0; for (NestedListContainer p : page.getNestedLists()){ int item = 0; for (NestedList list : p.getNestedLists()) { for (de.tudarmstadt.ukp.wikipedia.parser.Link link : list.getLinks()) { Link linkAdded = addLink(links, externalLinks, link, Link.Type.LIST); if (linkAdded != null) { linkAdded.setListId(listId); linkAdded.setListItem(item); } } item++; } listId++; } }
public static void main(String[] args) throws WikiApiException { //db connection settings DatabaseConfiguration dbConfig = new DatabaseConfiguration(); dbConfig.setDatabase("DATABASE"); dbConfig.setHost("HOST"); dbConfig.setUser("USER"); dbConfig.setPassword("PASSWORD"); dbConfig.setLanguage(Language.english); //initialize a wiki Wikipedia wiki = new Wikipedia(dbConfig); MediaWikiParserFactory pf = new MediaWikiParserFactory(Language.english); MediaWikiParser parser = pf.createParser(); //get the page 'House_(disambiguation)' ParsedPage pp = parser.parse(wiki.getPage("House_(disambiguation)").getText()); int i = 1; // print out all nested lists of the page for(NestedList nl : pp.getNestedLists()){ System.out.println(i + ": \n" + outputNestedList(nl,0)); i++; } }