Package org.wikipediacleaner.api.check

Examples of org.wikipediacleaner.api.check.CheckErrorResult


        if (level == 0) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              tag.getBeginIndex(), tag.getEndIndex());
          errorResult.addReplacement("", GT._("Delete"));
          errors.add(errorResult);
        }
      } else if (tag.isEndTag()) {
        // Closing tag
        level--;
        if (level < 0) {
          level = 0;
        }
      } else {
        level++;
        if (level == 1) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());
          errors.add(errorResult);
        }
      }
View Full Code Here


        (analysis.getPage() != null)) {
      if (isInWhiteList(analysis.getPage().getTitle())) {
        errorLevel = ErrorLevel.CORRECT;
      }
    }
    return new CheckErrorResult(
        this,
        startPosition, endPosition,
        errorLevel);
  }
View Full Code Here

  public String fixUsingFirstReplacement(String fixName, PageAnalysis analysis) {
    String result = analysis.getContents();
    List<CheckErrorResult> errors = new ArrayList<CheckErrorResult>();
    if (analyze(analysis, errors, false)) {
      for (int i = errors.size(); i > 0; i--) {
        CheckErrorResult errorResult = errors.get(i - 1);
        String newText = errorResult.getFirstReplacement();
        if (newText != null) {
          String tmp =
            result.substring(0, errorResult.getStartPosition()) +
            newText +
            result.substring(errorResult.getEndPosition());
          result = tmp;
        }
      }
    }
    return result;
View Full Code Here

    String result = analysis.getContents();
    List<CheckErrorResult> errors = new ArrayList<CheckErrorResult>();
    if (analyze(analysis, errors, true)) {
      Collections.sort(errors);
      for (int i = errors.size(); i > 0; i--) {
        CheckErrorResult errorResult = errors.get(i - 1);
        String newText = errorResult.getAutomaticReplacement();
        if (newText != null) {
          String tmp =
            result.substring(0, errorResult.getStartPosition()) +
            newText +
            result.substring(errorResult.getEndPosition());
          result = tmp;
        }
      }
    }
    return result;
View Full Code Here

  public String fixUsingRemove(String fixName, PageAnalysis analysis) {
    String result = analysis.getContents();
    List<CheckErrorResult> errors = new ArrayList<CheckErrorResult>();
    if (analyze(analysis, errors, false)) {
      for (int i = errors.size(); i > 0; i--) {
        CheckErrorResult errorResult = errors.get(i - 1);
        String tmp =
          result.substring(0, errorResult.getStartPosition()) +
          result.substring(errorResult.getEndPosition());
        result = tmp;
      }
    }
    return result;
  }
View Full Code Here

        if (errors == null) {
          return true;
        }
        result = true;
        int endIndex = startIndex + search.length();
        CheckErrorResult errorResult = createCheckErrorResult(
            analysis, startIndex, endIndex);
        if (replacements != null) {
          for (int i = 0; i < replacements.length; i++) {
            if (replacements[i] != null) {
              errorResult.addReplacement(replacements[i]);
            }
          }
        }
        errors.add(errorResult);
        startIndex = endIndex;
View Full Code Here

        if (shouldCount) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              tag.getBeginIndex(), tag.getEndIndex());
          errors.add(errorResult);
        }
      }
View Full Code Here

        if (extraChar) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              toc.getBeginIndex(), toc.getEndIndex());
          errors.add(errorResult);
        }
      }
View Full Code Here

    if (errors == null) {
      return true;
    }
    String contents = analysis.getContents();
    for (PageElementTag tag : tags) {
      CheckErrorResult errorResult = null;
      if (tag.isFullTag()) {

        // Full tag <nowiki/>
        int beginIndex = tag.getBeginIndex();
        int endIndex = tag.getEndIndex();

        // Check for <nowiki/> just after an internal link
        PageElementInternalLink link = analysis.isInInternalLink(beginIndex - 1);
        if ((link != null) && (link.getEndIndex() == beginIndex)) {
          beginIndex = link.getBeginIndex();
          while ((endIndex < contents.length()) &&
                 (Character.isLetter(contents.charAt(endIndex)))) {
            endIndex++;
          }
        } else {
          // Check for <nowiki/> inside an internal link
          link = analysis.isInInternalLink(beginIndex);
          if (link != null) {
            int index = beginIndex;
            while ((index > link.getBeginIndex() + link.getTextOffset()) &&
                   (contents.charAt(index - 1) == ' ')) {
              index--;
            }
            if (index == link.getBeginIndex() + link.getTextOffset()) {
              index = endIndex;
              while ((index + 2 < link.getEndIndex()) &&
                     (contents.charAt(index) == ' ')) {
                index++;
              }
              if (index + 2 == link.getEndIndex()) {
                errorResult = createCheckErrorResult(
                    analysis, link.getBeginIndex(), link.getEndIndex());
                errorResult.addReplacement("");
              }
            }
          }
        }
        if (errorResult == null) {
          String textBefore = contents.substring(beginIndex, tag.getBeginIndex());
          String textAfter = contents.substring(tag.getEndIndex(), endIndex);
          errorResult = createCheckErrorResult(
              analysis, beginIndex, endIndex);
          if (link != null) {
            String displayed = link.getDisplayedTextNotTrimmed();
            if (displayed.endsWith(" ")) {
              errorResult.addReplacement(PageElementInternalLink.createInternalLink(
                  link.getFullLink(), displayed.trim()) + " " + textAfter);
            }
            errorResult.addReplacement(PageElementInternalLink.createInternalLink(
                link.getFullLink(), displayed + textAfter));
          }
          errorResult.addReplacement(textBefore + " " + textAfter);
          errorResult.addReplacement(textBefore + textAfter);
        }
      } else if (tag.isComplete()) {
        // Complete tag <nowiki> ... </nowiki>
        errorResult = createCheckErrorResult(
            analysis, tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());
        String internalText = contents.substring(
            tag.getValueBeginIndex(), tag.getValueEndIndex());

        // Check for specific characters
        StringBuilder replacement = new StringBuilder();
        for (int i = 0; i < internalText.length(); i++) {
          char currentChar = internalText.charAt(i);
          if ((apostropheTemplate != null) && (currentChar == '\'')) {
            replacement.append(PageElementTemplate.createTemplate(apostropheTemplate));
          } else if ((asteriskTemplate != null) && (currentChar == '*')) {
            replacement.append(PageElementTemplate.createTemplate(asteriskTemplate));
          } else if ((openSBTemplate != null) && (currentChar == '[')) {
              replacement.append(PageElementTemplate.createTemplate(openSBTemplate));
          } else if ((closeSBTemplate != null) && (currentChar == ']')) {
            replacement.append(PageElementTemplate.createTemplate(closeSBTemplate));
          } else {
            replacement.append(currentChar);
          }
        }
        if (!internalText.equals(replacement.toString())) {
          errorResult.addReplacement(replacement.toString());
        }

        // Check for <nowiki><tag></nowiki>
        if (internalText.startsWith("<") && internalText.endsWith(">")) {
          boolean otherFound = false;
          for (int i = 1; i < internalText.length() - 1; i++) {
            char currentChar = internalText.charAt(i);
            if ((currentChar == '<') || (currentChar == '>')) {
              otherFound = true;
            }
          }
          if (!otherFound) {
            errorResult.addReplacement("&lt;" + internalText.substring(1, internalText.length() - 1) + "&gt;");
          }
        }

        // Check for <nowiki> </nowiki> at the beginning of a line
        int begin = tag.getBeginIndex();
        if ((begin > 0) && (contents.charAt(begin - 1) == '\n')) {
          int index = 0;
          while ((index < internalText.length()) && (internalText.charAt(index) == ' ')) {
            index++;
          }
          if (index > 0) {
            internalText = internalText.substring(index);
          }
        }
        errorResult.addReplacement(internalText);
      } else {
        errorResult = createCheckErrorResult(
            analysis, tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());
        errorResult.addReplacement("");
      }
      errors.add(errorResult);
    }

    return true;
View Full Code Here

            PageElementTag.TAG_WIKI_IMAGEMAP, link.getBeginIndex());
        if (tagImagemap != null) {
          int previousCR = getPreviousCR(contents, link.getBeginIndex());
          int nextCR = getNextCR(contents, link.getEndIndex());
          nextCR = Math.min(nextCR, tagImagemap.getMatchingTag().getBeginIndex());
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, previousCR, nextCR);
          if ((previousCR > tagImagemap.getEndIndex()) &&
              (contents.charAt(nextCR) == '\n')) {
            errorResult.addReplacement("", GT._("Delete"));
          }
          errors.add(errorResult);
        } else {
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis,
              link.getBeginIndex(),
              link.getEndIndex());
          errorResult.addReplacement(link.getDisplayedText());
          errorResult.addReplacement("'''" + link.getDisplayedText() + "'''");
          errors.add(errorResult);
        }
      }
    }
    return result;
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.