Package info.bliki.api

Source Code of info.bliki.api.APITest

package info.bliki.api;

import info.bliki.wiki.model.WikiModel;
import info.bliki.api.User;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.xml.sax.SAXException;

public class APITest {
  public APITest() {
    super();
  }

  public static void testQueryContent001() {
    String[] listOfTitleStrings = { "Main Page", "API" };
    User user = new User("", "", "http://meta.wikimedia.org/w/api.php");
    user.login();
    List<Page> listOfPages = user.queryContent(listOfTitleStrings);
    for (Page page : listOfPages) {
      // print page information
      System.out.println(page.getCurrentContent());
    }
  }

  public static void testQueryContent002() {
    WikiModel wikiModel = new WikiModel("http://en.wikipedia.org/wiki/${image}", "http://en.wikipedia.org/wiki/${title}");
    wikiModel.setUp();
    String[] listOfTitleStrings = { "Tom Hanks" };
    User user = new User("", "", "http://en.wikipedia.org/w/api.php");
    user.login();
    List<Page> listOfPages = user.queryContent(listOfTitleStrings);
    for (Page page : listOfPages) {
      String renderedHTML = wikiModel.render(page.getCurrentContent());
      System.out.println(renderedHTML);
      break;
    }
  }

  public static void testQueryLinks001() {
    String[] listOfTitleStrings = { "Main Page", "API" };
    User user = new User("", "", "http://meta.wikimedia.org/w/api.php");
    user.login();
    List<Page> listOfPages = user.queryLinks(listOfTitleStrings);
    for (Page page : listOfPages) {
      // print page information
      System.out.println(page.toString());
      for (int j = 0; j < page.sizeOfLinksList(); j++) {
        Link link = page.getLink(j);
        // print every link in this page
        System.out.println(link.toString());
      }
    }
  }

  public static void testQueryCategories001() {
    String[] listOfTitleStrings = { "Main Page", "API" };
    User user = new User("", "", "http://meta.wikimedia.org/w/api.php");
    user.login();
    List<Page> listOfPages = user.queryCategories(listOfTitleStrings);
    for (Page page : listOfPages) {
      // print page information
      System.out.println(page.toString());
      for (int j = 0; j < page.sizeOfCategoryList(); j++) {
        Category cat = page.getCategory(j);
        // print every category in this page
        System.out.println(cat.toString());
      }
    }
  }

  public static void testQueryImageinfo001() {
    String[] listOfImageStrings = { "Image:Question book-new.svg", "Image:Test.jpg", "Image:Brandenburger Tor Blaue Stunde.jpg" };
    User user = new User("", "", "http://en.wikipedia.org/w/api.php");
    user.login();
    List<Page> listOfPages = user.queryImageinfo(listOfImageStrings);
    for (Page page : listOfPages) {
      // print page information
      System.out.println(page.toString());
      // download the image to c:\temp directory
      FileOutputStream os = null;
      try {
        os = new FileOutputStream("c:\\temp\\" + page.getTitle().substring(6).replaceAll(" ", "_"));
        page.downloadImageUrl(os);
      } catch (FileNotFoundException e) {
        e.printStackTrace();
      } finally {
        if (os != null) {
          try {
            os.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }
      for (int j = 0; j < page.sizeOfLinksList(); j++) {
        Link link = page.getLink(j);
        // print every link in this page
        System.out.println(link.toString());
      }
    }
  }

  public static void testQueryXML001() {
    User user = new User("", "", "http://en.wikipedia.org/w/api.php");
    user.login();
    String[] valuePairs = { "list", "allpages", "apfrom", "B", "aplimit", "20" };
    Connector connector = new Connector();
    String responseBody = connector.queryXML(user, valuePairs);
    if (responseBody == null) {
      System.out.println("Got no XML result for the query");
    }
    XMLPagesParser parser;
    try {
      parser = new XMLPagesParser(responseBody);
      parser.parse();
      List<Page> listOfPages = parser.getPagesList();
      for (Page page : listOfPages) {
        // print page information
        System.out.println(page.toString());
      }
    } catch (SAXException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void main(String[] args) {
    // testQueryContent002();
    // testQueryContent001();
    // testQueryLinks001();
    // testQueryCategories001();
    // testQueryImageinfo001();
    testQueryXML001();
  }
}
TOP

Related Classes of info.bliki.api.APITest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.