Package org.wikipediacleaner.api.check

Examples of org.wikipediacleaner.api.check.CheckErrorResult


          return true;
        }
        result = true;
        PageElementLanguageLink keepLink = keepLanguageLink(groupLink, lastIndex);
        if (keepLink == link) {
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              link.getBeginIndex(),
              link.getEndIndex(),
              CheckErrorResult.ErrorLevel.CORRECT);
          errors.add(errorResult);
        } else {
          int beginIndex = link.getBeginIndex();
          while ((beginIndex > 0) && (contents.charAt(beginIndex - 1) == ' ')) {
            beginIndex--;
          }
          boolean beginLine = (beginIndex == 0) || (contents.charAt(beginIndex - 1) == '\n');
          int endIndex = link.getEndIndex();
          while ((endIndex < contents.length()) && (contents.charAt(endIndex) == ' ')) {
            endIndex++;
          }
          boolean endLine = (endIndex >= contents.length()) || (contents.charAt(endIndex) == '\n');
          if (beginLine && endLine) {
            endIndex = Math.min(endIndex + 1, contents.length());
          }
          if (!beginLine) {
            beginIndex = link.getBeginIndex();
          }
          if (!endLine) {
            endIndex = link.getEndIndex();
          }
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, beginIndex, endIndex);
          errorResult.addReplacement("", GT._("Delete"));
          errors.add(errorResult);
        }
      }
    }
View Full Code Here


      if (title.getLevel() < firstTitle) {
        if (errors == null) {
          return true;
        }
        result = true;
        CheckErrorResult errorResult = createCheckErrorResult(
            analysis,
            title.getBeginIndex(), title.getEndIndex());
        errorResult.addEditTocAction();
        errors.add(errorResult);
      }
    }

    return result;
View Full Code Here

            if ((tmpIndex2 < maxLength) && (contents.charAt(tmpIndex2) == ']')) {
              suffix = contents.substring(tmpIndex + 1, tmpIndex2 + 1);
            } else {
              tmpIndex2 = tmpIndex;
            }
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, currentIndex, tmpIndex2 + 1);

            // Check if the situation is something like [[http://....] (replacement: [http://....])
            boolean protocolFound = PageElementExternalLink.isPossibleProtocol(contents, currentIndex + 2);
            if (protocolFound) {
              errorResult.addReplacement(contents.substring(currentIndex + 1, tmpIndex2 + 1));
            }

            errorResult.addReplacement(contents.substring(currentIndex, tmpIndex + 1) + "]" + suffix);
            if (suffix.length() > 0) {
              errorResult.addReplacement(contents.substring(currentIndex, tmpIndex) + suffix + "]");
            }
            errors.add(errorResult);
            errorReported = true;
            finished = true;
          } else if (tmpChar == '}') {
            int lastChar = tmpIndex;
            if ((lastChar + 1 < maxLength) && (contents.charAt(lastChar + 1) == '}')) {
              lastChar++;
            }
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, currentIndex, lastChar + 1);
            errorResult.addReplacement(contents.substring(currentIndex, tmpIndex) + "]]");
            errorResult.addReplacement("{{" + contents.substring(currentIndex + 2, tmpIndex) + "}}");
            errors.add(errorResult);
            errorReported = true;
            finished = true;
          }
          tmpIndex++;
        }

        // Default
        if (!errorReported) {
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, currentIndex, currentIndex + 2);
          errorResult.addReplacement("", GT._("Delete"));
          errors.add(errorResult);
        }
      }
      currentIndex = contents.indexOf("[[", currentIndex + 2);
    }

    // Analyze each internal link to see if it contains a [
    for (PageElementInternalLink link : analysis.getInternalLinks()) {
      String text = link.getText();
      if (text != null) {
        text = cleanText(text);
        if (text != null) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, link.getBeginIndex(), link.getEndIndex());
          errorResult.addReplacement(PageElementInternalLink.createInternalLink(
              link.getLink(), link.getAnchor(), text));
          errors.add(errorResult);
        }
      }
    }

    // Analyze each image to see if it contains a [
    for (PageElementImage image : analysis.getImages()) {
      String text = image.getDescription();
      String modifiedText = cleanText(text);
      String alt = image.getAlternateDescription();
      String modifiedAlt = cleanText(alt);
      if ((modifiedText != null) || (modifiedAlt != null)) {
        if (errors == null) {
          return true;
        }
        result = true;
        CheckErrorResult errorResult = createCheckErrorResult(
            analysis, image.getBeginIndex(), image.getEndIndex());
        errorResult.addReplacement(image.getDescriptionReplacement(
            (modifiedText != null) ? modifiedText : text,
            (modifiedAlt != null) ? modifiedAlt : alt));
        errors.add(errorResult);
      }
    }

    // Analyze each external link to see if it has a [ before
    for (PageElementExternalLink link : analysis.getExternalLinks()) {
      int begin = link.getBeginIndex();
      if (link.hasSquare()) {
        if ((begin > 0) && (contents.charAt(begin - 1) == '[')) {
          int end = link.getEndIndex();
          if ((end >= contents.length()) || (contents.charAt(end) != ']')) {
            if (errors == null) {
              return true;
            }
            result = true;
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, begin - 1, begin);
            errorResult.addReplacement("[");
            errors.add(errorResult);
          }
        }
      }
    }
View Full Code Here

        if (found) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(analysis, isbn, true);
          addHelpNeededTemplates(analysis, errorResult, isbn);
          addHelpNeededComment(analysis, errorResult, isbn);
          if (isbn.isTemplateParameter()) {
            PageElementTemplate template = analysis.isInTemplate(isbn.getBeginIndex());
            addSearchEngines(analysis, errorResult, template);
View Full Code Here

            return true;
          }
          result = true;
          if (!tagUsed.contains(groupName)) {
            tagUsed.add(groupName);
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis,
                firstTag.getCompleteBeginIndex(),
                firstTag.getCompleteEndIndex(),
                ErrorLevel.CORRECT);
            errorResult.addReplacement("");
            errors.add(errorResult);
          }
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              referencesTag.getCompleteBeginIndex(),
              referencesTag.getCompleteEndIndex());
          errorResult.addReplacement("");
          errors.add(errorResult);
        }
      }
    }
    return result;
View Full Code Here

      if (isLanguageLink(link, toWiki)) {
        if (errors == null) {
          return true;
        }
        result = true;
        CheckErrorResult errorResult = createCheckErrorResult(
            analysis, link.getBeginIndex(), link.getEndIndex());
        String lgCode = link.getInterwiki().getPrefix();
        EnumWikipedia fromWiki = EnumWikipedia.getWikipedia(lgCode);
        if ((fromWiki != null) && (fromWiki.getSettings().getCode().equals(lgCode))) {
          String pageTitle = link.getLink();
          errorResult.addPossibleAction(
              GT._("Check language links"),
              new CheckLanguageLinkActionProvider(
                  fromWiki, toWiki,
                  pageTitle, link.getText()));
          if ((templatesList != null) && (templatesList.size() > 0)) {
            for (String template : templatesList) {
              String[] templateArgs = template.split("\\|");
              if (templateArgs.length >= 5) {
                String prefix =
                  "{{" + templateArgs[0] + "|" + templateArgs[1] + "=";
                String suffix =
                  "|" + templateArgs[2] + "=" + lgCode +
                  "|" + templateArgs[3] + "=" + pageTitle +
                  "|" + templateArgs[4] + "=" + ((link.getText() != null) ? link.getText() : pageTitle) +
                  "}}";
                String question = GT._("What is the title of the page on this wiki ?");
                AddTextActionProvider action = null;
                if ((link.getText() != null) && (!link.getText().equals(pageTitle))) {
                  String[] possibleValues = { null, pageTitle, link.getText() };
                  action = new AddTextActionProvider(
                      prefix, suffix, null, question,
                      possibleValues, false, null, checker);
                } else {
                  action = new AddTextActionProvider(
                      prefix, suffix, null, question,
                      pageTitle, checker);
                }
                errorResult.addPossibleAction(
                    GT._("Replace using template {0}", "{{" + templateArgs[0] + "}}"),
                    action);
              }
            }
          }
          errorResult.addPossibleAction(
              GT._("External Viewer"),
              new BasicActionProvider(
                  new ActionExternalViewer(fromWiki, pageTitle)));
        }
        errors.add(errorResult);
View Full Code Here

        if (!hasNonNumericCharacter) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult error = createCheckErrorResult(
              analysis,
              refTag.getBeginIndex(), refTag.getEndIndex());
          errors.add(error);
        }
      }
View Full Code Here

            result = true;
            errorFound = true;
            if (beginIndex >= endIndex) {
              beginIndex = 0;
            }
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, link.getBeginIndex(), link.getEndIndex());
            String replacement = PageElementInternalLink.createInternalLink(
                target,
                target.substring(beginIndex, endIndex));
            errorResult.addReplacement(replacement);
            replacement = PageElementInternalLink.createInternalLink(target, null);
            errorResult.addReplacement(replacement);
            errors.add(errorResult);
          }
        }

        // Incorrect slash trick
        if (!errorFound) {
          int endIndex = target.length();
          if ((endIndex > 1) && (target.charAt(0) == '/')) {
            if (errors == null) {
              return true;
            }
            result = true;
            errorFound = true;
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, link.getBeginIndex(), link.getEndIndex());
            String replacement = PageElementInternalLink.createInternalLink(
                target + "/", null);
            errorResult.addReplacement(replacement);
            replacement = PageElementInternalLink.createInternalLink(target, null);
            errorResult.addReplacement(replacement);
            errors.add(errorResult);
          }
        }

        // Link to section
        if (!errorFound) {
          int index = target.indexOf('#');
          if ((index >= 0) && (index < target.length() - 1)) {
            if (errors == null) {
              return true;
            }
            result = true;
            errorFound = true;
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis, link.getBeginIndex(), link.getEndIndex());
            String replacement = PageElementInternalLink.createInternalLink(
                target, target.substring(index + 1));
            errorResult.addReplacement(replacement);
            replacement = PageElementInternalLink.createInternalLink(target, null);
            errorResult.addReplacement(replacement);
            errors.add(errorResult);
          }
        }
      }
    }
View Full Code Here

          if (errors == null) {
            return true;
          }
          result = true;
          String digits = contents.substring(beginIndex, supTag.getBeginIndex());
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              beginIndex, supTag.getCompleteEndIndex());
          if (replacements != null) {
            String replacement = replacements.get(digits + value);
            if (replacement != null) {
              errorResult.addReplacement(replacement);
            }
          }
          errorResult.addReplacement(digits + value);
          errors.add(errorResult);
        }
      }
    }
    return result;
View Full Code Here

          // Find possible replacement
          String replacement = analysis.getContents().substring(
              tag.getValueBeginIndex(), tag.getValueEndIndex());

          // Create error
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());
          errorResult.addReplacement(PageElementTitle.createTitle(
              level + 1, replacement, null));
          errors.add(errorResult);
        }
      }
    }
View Full Code Here

TOP

Related Classes of org.wikipediacleaner.api.check.CheckErrorResult

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.