Package org.wikipediacleaner.api.check

Examples of org.wikipediacleaner.api.check.CheckErrorResult


      if (same && (text != null)) {
        if (errors == null) {
          return true;
        }
        result = true;
        CheckErrorResult errorResult = createCheckErrorResult(
            analysis,
            link.getBeginIndex(),
            link.getEndIndex());
        errorResult.addReplacement(
            PageElementInternalLink.createInternalLink(text, null),
            automatic);
        if (text.contains("_")) {
          errorResult.addReplacement(
              PageElementInternalLink.createInternalLink(text.replaceAll("\\_", " "), null),
              false);
        }
        errors.add(errorResult);
      }
View Full Code Here


              if (tmp.trim().length() > 0) {
                suffix = tmp;
              }
            }
          }
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, link.getBeginIndex(), endIndex);
          errorResult.addPossibleAction(
              GT._("Add a description..."),
              new AddTextActionProvider(
                  "[" + url + " ", "]" + suffix,
                  new TextProviderUrlTitle(url),
                  GT._("What description would you like to use for the external link ?"),
                  descriptionChecker));
          if (refTag == null) {
            errorResult.addReplacement(
                "<ref>" + url + "</ref>",
                GT._("Convert into <ref> tag"));
            errorResult.addPossibleAction(
                GT._("Add a description and convert into <ref> tag"),
                new AddTextActionProvider(
                    "<ref>[" + url + " ", "]</ref>",
                    new TextProviderUrlTitle(url),
                    GT._("What description would you like to use for the external link ?"),
                    descriptionChecker));
          } else {
            if (suffix.length() > 0) {
              if (link.hasSquare()) {
                errorResult.addReplacement(PageElementExternalLink.createExternalLink(url, suffix.trim()));
              } else {
                errorResult.addReplacement("[" + contents.substring(link.getBeginIndex(), endIndex) + "]");
              }
            }
            if (link.hasSquare()) {
              errorResult.addReplacement(url + suffix);
            }
          }
          errorResult.addPossibleAction(
              new SimpleAction(GT._("External viewer"),
                  new ActionExternalViewer(url)));
          errors.add(errorResult);
        }
      }
View Full Code Here

              }
            }
          }

          // Create error
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, link.getBeginIndex(), link.getEndIndex());
          boolean emptyLink = false;
          if ((link.getFullLink() == null) || (link.getFullLink().trim().length() == 0)) {
            errorResult.addReplacement(PageElementInternalLink.createInternalLink(link.getText(), null));
            emptyLink = true;
          }
          for (String replacement : replacements) {
            errorResult.addReplacement(replacement, !emptyLink && (replacements.size() == 1));
          }
          errorResult.addReplacement("{{" + contents.substring(link.getBeginIndex() + 2, link.getEndIndex() - 2) + "}}");
          errors.add(errorResult);
        }
      }
    }
    return result;
View Full Code Here

          if (!textFound) {
            if (errors == null) {
              return true;
            }
            result = true;
            CheckErrorResult errorResult = createCheckErrorResult(
                analysis,
                tag.getCompleteBeginIndex(),
                tag.getCompleteEndIndex());
            errorResult.addReplacement("", GT._("Delete"));
            errors.add(errorResult);
          }
        }
      }
    }
View Full Code Here

          }
          end += Character.charCount(contents.codePointAt(end));
        }

        // Report error
        CheckErrorResult errorResult = createCheckErrorResult(analysis, begin, end);
        for (Integer controlFound : controls) {
          ControlCharacter found = getControlCharacter(controlFound.intValue());
          if (found != null) {
            errorResult.addPossibleAction(
                Integer.toHexString(controlFound.intValue()) + " - " + GT._(found.description),
                new NullActionProvider());
          }
        }
        StringBuilder replacementB = new StringBuilder();
        List<String> otherReplacements = new ArrayList<String>();
        boolean unsafeCharacter = false;
        boolean checkUnsafe = false;
        int i = begin;
        while (i < end) {
          codePoint = contents.codePointAt(i);
          control = getControlCharacter(codePoint);
          if (control == null) {
            replacementB.appendCodePoint(codePoint);
            unsafeCharacter = (automaticChars.indexOf(codePoint) < 0);
          } else {
            if (!control.removable) {
              int replaceBy = 0;
              if (control == ControlCharacter.NON_BREAKING_SPACE) {
                if ((i > 0) && (contents.codePointBefore(i) == '«')) {
                  replaceBy = ' ';
                }
                int next = i + Character.charCount(codePoint);
                if (next < end) {
                  int codePointAfter = contents.codePointAt(next);
                  if ((codePointAfter == '»') || (codePointAfter == ':')) {
                    replaceBy = ' ';
                  }
                }
              }

              if (replaceBy == 0) {
                replacementB.appendCodePoint(codePoint);
                checkUnsafe = true;
              } else {
                replacementB.appendCodePoint(replaceBy);
              }
            }
            checkUnsafe |= !control.safe;
            List<String> replacements = ControlCharacter.getReplacements(codePoint);
            if (replacements != null) {
              for (String replacement : replacements) {
                StringBuilder otherReplacement = new StringBuilder();
                int j = begin;
                while (j < end) {
                  int codePointJ = contents.codePointAt(j);
                  if ((i != j) && (codePoint != codePointJ)) {
                    otherReplacement.appendCodePoint(codePointJ);
                  } else {
                    otherReplacement.append(replacement);
                  }
                  j += Character.charCount(codePointJ);
                }
                if (!otherReplacements.contains(otherReplacement.toString())) {
                  otherReplacements.add(otherReplacement.toString());
                }
              }
            }
          }
          i += Character.charCount(codePoint);
        }
        boolean automatic = !unsafeCharacter || !checkUnsafe;
        String original = contents.substring(begin, end);
        String replacement = replacementB.toString();
        if (!replacement.equals(original)) {
          errorResult.addReplacement(
              replacement,
              GT._("Remove all control characters"),
              automatic);
        }
        for (String otherReplacement : otherReplacements) {
          if ((!automatic || replacement.equals(original)) &&
              !otherReplacement.equals(original) &&
              !otherReplacement.equals(replacement)) {
            errorResult.addReplacement(otherReplacement);
          }
        }
        errors.add(errorResult);
        index = end;
      } else {
View Full Code Here

    // Mark errors
    starts.addAll(ends);
    Collections.sort(starts);
    for (TableElement element : starts) {
      CheckErrorResult errorResult = createCheckErrorResult(
          analysis, element.beginIndex, element.endIndex,
          (element.begin && !element.hasMatch) ? ErrorLevel.ERROR : ErrorLevel.CORRECT);
      errors.add(errorResult);
    }
    return result;
View Full Code Here

        if (!linkFound) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, currentIndex, currentIndex + aliasFound.length());
          errors.add(errorResult);
        }
        currentIndex += aliasFound.length();
      } else {
View Full Code Here

      if (title.getLevel() == 1) {
        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

            // Create an error for each tag, except for the main tag
            String selectedName = mainTag.getParameter("name").getTrimmedValue();
            for (PageElementTag tag : listTags) {
              if (tag == mainTag) {
                CheckErrorResult errorResult = createCheckErrorResult(
                    analysis,
                    tag.getCompleteBeginIndex(), tag.getCompleteEndIndex(),
                    CheckErrorResult.ErrorLevel.CORRECT);
                errors.add(errorResult);
              } else {
                Parameter name = tag.getParameter("name");
                String nameValue = (name != null) ? name.getTrimmedValue() : null;
                if (nameValue != null) {
                  nameValue = nameValue.trim();
                }
                CheckErrorResult errorResult = createCheckErrorResult(
                    analysis,
                    tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());
                errorResult.addReplacement(
                    getClosedRefTag(groupName, selectedName, null),
                    selectedName.equals(nameValue) || (name == null));
                errors.add(errorResult);
              }
            }
          } else {

            for (PageElementTag tag : listTags) {
              int valueBeginIndex = tag.getValueBeginIndex();
              int valueEndIndex = tag.getValueEndIndex();

              // Find if an external link is in the reference tag
              List<PageElementExternalLink> externalLinks = analysis.getExternalLinks();
              List<PageElementExternalLink> links = new ArrayList<PageElementExternalLink>();
              for (PageElementExternalLink externalLink : externalLinks) {
                if ((externalLink.getBeginIndex() >= valueBeginIndex) &&
                    (externalLink.getEndIndex() <= valueEndIndex)) {
                  links.add(externalLink);
                }
              }

              // Register error
              CheckErrorResult errorResult = createCheckErrorResult(
                  analysis,
                  tag.getCompleteBeginIndex(), tag.getCompleteEndIndex());

              // Add an action for naming the reference tag
              // TODO: manage a better action for naming the reference tag and replacing all other tags
              TextProvider provider = null;
              if (links.size() > 0) {
                provider = new TextProviderUrlTitle(links.get(0).getLink());
              }
              String prefix = contents.substring(tag.getBeginIndex(), tag.getEndIndex() - 1);
              String suffix = contents.substring(tag.getEndIndex() - 1, tag.getCompleteEndIndex());
              errorResult.addPossibleAction(
                  GT._("Give a name to the <ref> tag"),
                  new AddTextActionProvider(
                      prefix + " name=\"",
                      "\"" + suffix,
                      provider,
                      GT._("What name would you like to use for the <ref> tag ?"),
                      nameChecker));

              // Add actions for external links
              for (PageElementExternalLink link : links) {
                errorResult.addPossibleAction(new SimpleAction(
                    GT._("External Viewer"),
                    new ActionExternalViewer(link.getLink())));
              }
              errors.add(errorResult);
            }
View Full Code Here

            (internalLink.getBeginIndex() == link.getEndIndex())) {
          if (errors == null) {
            return true;
          }
          result = true;
          CheckErrorResult errorResult = createCheckErrorResult(
              analysis, link.getBeginIndex(), internalLink.getEndIndex());
          errorResult.addReplacement(
              contents.substring(link.getBeginIndex(), internalLink.getBeginIndex()) +
              internalLink.getDisplayedTextNotTrimmed());
          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.