Package org.jdom.xpath

Examples of org.jdom.xpath.XPath


      List<Page> list) throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Retrieve query pages
      XPath xpa = XPath.newInstance("/api/query/querypage/results/page");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        Page page = DataManager.getPage(
            getWiki(), currentNode.getAttributeValue("title"), null, null, null);
View Full Code Here


          throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Get recent changes list
      XPath xpa = XPath.newInstance("/api/query/users/user");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        User user = new User(currentNode.getAttributeValue("name"));
        List<String> groups = new ArrayList<String>();
        XPath xpaGroups = XPath.newInstance("./groups/g");
        List resultGroups = xpaGroups.selectNodes(currentNode);
        Iterator itGroups = resultGroups.iterator();
        while (itGroups.hasNext()) {
          groups.add(((Element) itGroups.next()).getValue());
        }
        user.setGroups(groups);
        List<String> rights = new ArrayList<String>();
        XPath xpaRights = XPath.newInstance("./rights/r");
        List resultRights = xpaRights.selectNodes(currentNode);
        Iterator itRights = resultRights.iterator();
        while (itRights.hasNext()) {
          rights.add(((Element) itRights.next()).getValue());
        }
        user.setRights(rights);
View Full Code Here

      return;
    }
   
    // Check for errors
    try {
      XPath xpa = XPath.newInstance("/api/error");
      List listErrors = xpa.selectNodes(root);
      if (listErrors != null) {
        Iterator iterErrors = listErrors.iterator();
        XPath xpaCode = XPath.newInstance("./@code");
        XPath xpaInfo = XPath.newInstance("./@info");
        while (iterErrors.hasNext()) {
          Element currentNode = (Element) iterErrors.next();
          String text = "Error reported: " + xpaCode.valueOf(currentNode) + " - " + xpaInfo.valueOf(currentNode);
          log.warn(text);
          throw new APIException(text, xpaCode.valueOf(currentNode));
        }
      }
    } catch (JDOMException e) {
      log.error("JDOMException: " + e.getMessage());
    }
   
    // Check for warnings
    try {
      XPath xpa = XPath.newInstance("/api/warnings/*");
      List listWarnings = xpa.selectNodes(root);
      if (listWarnings != null) {
        Iterator iterWarnings = listWarnings.iterator();
        while (iterWarnings.hasNext()) {
          Element currentNode = (Element) iterWarnings.next();
          log.warn("Warning reported: " + currentNode.getName() + " - " + currentNode.getValue());
View Full Code Here

    if ((root == null) || (queryContinue == null)) {
      return false;
    }
    boolean result = false;
    try {
      XPath xpa = XPath.newInstance(queryContinue);
      List results = xpa.selectNodes(root);
      if (results != null) {
        for (Object currentNode : results) {
          List attributes = ((Element) currentNode).getAttributes();
          if (attributes != null) {
            for (Object currentAttribute : attributes) {
View Full Code Here

    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);
      WikiConfiguration wikiConfiguration = getWiki().getWikiConfiguration();

      // Retrieve general information
      XPath xpa = XPath.newInstance("/api/query/general");
      Element generalNode = (Element) xpa.selectSingleNode(root);
      if (generalNode != null) {
        wikiConfiguration.setArticlePath(generalNode.getAttributeValue("articlepath"));
        wikiConfiguration.setScript(generalNode.getAttributeValue("script"));
        wikiConfiguration.setServer(generalNode.getAttributeValue("server"));
      }

      // Retrieve name spaces
      HashMap<Integer, Namespace> namespaces = null;
      xpa = XPath.newInstance("/api/query/namespaces/ns");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      namespaces = new HashMap<Integer, Namespace>();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        String title = currentNode.getText();
        String canonical = currentNode.getAttributeValue("canonical");
        String id = currentNode.getAttributeValue("id");
        EnumCaseSensitiveness caseSensitiveness = EnumCaseSensitiveness.getCase(currentNode.getAttributeValue("case"));
        boolean subPages = (currentNode.getAttribute("subpages") != null);
        Namespace ns = new Namespace(id, title, canonical, caseSensitiveness, subPages);
        namespaces.put(ns.getId(), ns);
      }

      // Retrieve name space aliases
      xpa = XPath.newInstance("/api/query/namespacealiases/ns");
      results = xpa.selectNodes(root);
      iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        Integer nsId = null;
        try {
          nsId = Integer.parseInt(currentNode.getAttributeValue("id"));
          Namespace namespace = namespaces.get(nsId);
          if (namespace != null) {
            namespace.addAlias(currentNode.getText());
          }
        } catch (NumberFormatException e) {
          //
        }
      }

      // Update name space list
      LinkedList<Namespace> list = new LinkedList<Namespace>(namespaces.values());
      wikiConfiguration.setNamespaces(list);

      // Retrieve languages
      List<Language> languages = new ArrayList<Language>();
      xpa = XPath.newInstance("/api/query/languages/lang");
      results = xpa.selectNodes(root);
      iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        String code = currentNode.getAttributeValue("code");
        String name = currentNode.getText();
        languages.add(new Language(code, name));
      }
      wikiConfiguration.setLanguages(languages);

      // Retrieve interwikis
      List<Interwiki> interwikis = new ArrayList<Interwiki>();
      xpa = XPath.newInstance("/api/query/interwikimap/iw");
      results = xpa.selectNodes(root);
      iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        String prefix = currentNode.getAttributeValue("prefix");
        boolean local = (currentNode.getAttribute("local") != null);
        String language = currentNode.getAttributeValue("language");
        String url = currentNode.getAttributeValue("url");
        interwikis.add(new Interwiki( prefix, local, language, url));
      }
      wikiConfiguration.setInterwikis(interwikis);

      // Retrieve magic words
      Map<String, MagicWord> magicWords = new HashMap<String, MagicWord>();
      xpa = XPath.newInstance("/api/query/magicwords/magicword");
      results = xpa.selectNodes(root);
      iter = results.iterator();
      XPath xpaAlias = XPath.newInstance("./aliases/alias");
      XPath xpaAliasValue = XPath.newInstance(".");
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        String magicWord = currentNode.getAttributeValue("name");
        List<String> aliases = new ArrayList<String>();
        List resultsAlias = xpaAlias.selectNodes(currentNode);
        Iterator iterAlias = resultsAlias.iterator();
        while (iterAlias.hasNext()) {
          Element currentAlias = (Element) iterAlias.next();
          String alias = xpaAliasValue.valueOf(currentAlias);
          aliases.add(alias);
        }
        boolean caseSensitive = (currentNode.getAttribute("case-sensitive") != null);
        magicWords.put(
            magicWord,
View Full Code Here

      List<AbuseFilter> list) throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Retrieve category members
      XPath xpa = XPath.newInstance("/api/query/abusefilters/filter");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        Integer id = Integer.valueOf(0);
        try {
View Full Code Here

          throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Retrieve watch list
      XPath xpa = XPath.newInstance("/api/watchlistraw/wr");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      XPath xpaTitle = XPath.newInstance("./@title");
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        Page page = DataManager.getPage(
            getWiki(), xpaTitle.valueOf(currentNode), null, null, null);
        if (page.isArticle()) {
          watchlist.add(page);
        }
      }
View Full Code Here

          throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Retrieve back links
      XPath xpa = XPath.newInstance("/api/query/backlinks/bl");
      List listBacklinks = xpa.selectNodes(root);
      Iterator itBacklink = listBacklinks.iterator();
      XPath xpaPageId = XPath.newInstance("./@pageid");
      XPath xpaNs = XPath.newInstance("./@ns");
      XPath xpaTitle = XPath.newInstance("./@title");
      XPath xpaRedirLinks = XPath.newInstance("redirlinks/bl");
      while (itBacklink.hasNext()) {
        Element currentBacklink = (Element) itBacklink.next();
        Page link = DataManager.getPage(
            getWiki(), xpaTitle.valueOf(currentBacklink), null, null, null);
        link.setNamespace(xpaNs.valueOf(currentBacklink));
        link.setPageId(xpaPageId.valueOf(currentBacklink));
        if (currentBacklink.getAttribute("redirect") != null) {
          link.addRedirect(page);
        }
        if (!list.contains(link)) {
          list.add(link);
        }

        // Links through redirects
        List listRedirLinks = xpaRedirLinks.selectNodes(currentBacklink);
        if (listRedirLinks != null) {
          List<Page> linkList = new ArrayList<Page>();
          Iterator itRedirLink = listRedirLinks.iterator();
          while (itRedirLink.hasNext()) {
            currentBacklink = (Element) itRedirLink.next();
View Full Code Here

      // Manage redirects and missing pages
      updateRedirect(root, pages);

      // Set disambiguation status
      XPath xpa = XPath.newInstance("/api/query/pages/page");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      List<Page> tmpPages = new ArrayList<Page>();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        String title = currentNode.getAttributeValue("title");
View Full Code Here

          throws APIException {
    try {
      Element root = getRoot(properties, ApiRequest.MAX_ATTEMPTS);

      // Get recent changes list
      XPath xpa = XPath.newInstance("/api/tokens");
      List results = xpa.selectNodes(root);
      Iterator iter = results.iterator();
      while (iter.hasNext()) {
        Element currentNode = (Element) iter.next();
        getWiki().getConnection().setDeleteToken(currentNode.getAttributeValue("deletetoken"));
        getWiki().getConnection().setEditToken(currentNode.getAttributeValue("edittoken"));
View Full Code Here

TOP

Related Classes of org.jdom.xpath.XPath

Copyright © 2018 www.massapicom. 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.