<commit_before>module Log {
  export function logSourceHref(row) {
    var log = row.entity;
    var fileName = log.fileName;
    var className = log.className;
    if ((!fileName || fileName === "?") && className) {
      fileName = className.replace(".", "/") + ".java";
    }
    var groupId = "";
    var artifactId = "";
    var version = "";
    var properties = log.properties;
    if (properties) {
      var coords = properties["maven.coordinates"];
      if (coords) {
        var values = coords.split(":");
        if (values.length > 2) {
          groupId = values[0];
          artifactId = values[1];
          version = values[2];
        }
      }
    }
    if (groupId && artifactId && version) {
      return "#/source/view/" + groupId + "/" + artifactId + "/" + version + "/" + fileName;
    } else {
      return "";
    }
  }
}<commit_msg>exclude class names or file names with value of ? from links to remove more bad links<commit_after>module Log {
  export function logSourceHref(row) {
    var log = row.entity;
    var fileName = Log.removeQuestion(log.fileName);
    var className = Log.removeQuestion(log.className);
    if (className && !fileName) {
      fileName = className.replace(".", "/") + ".java";
    }
    var groupId = "";
    var artifactId = "";
    var version = "";
    var properties = log.properties;
    if (properties) {
      var coords = properties["maven.coordinates"];
      if (coords) {
        var values = coords.split(":");
        if (values.length > 2) {
          groupId = values[0];
          artifactId = values[1];
          version = values[2];
        }
      }
    }
    if (groupId && artifactId && version && fileName) {
      return "#/source/view/" + groupId + "/" + artifactId + "/" + version + "/" + fileName;
    } else {
      return "";
    }
  }

  export function removeQuestion(text: string): string {
    return (!text || text === "?") ? null : text;
  }
}
{'fraction_non_alphanumeric': 0.15737874097007223, 'fraction_numerical': 0.0041279669762641896, 'mean_word_length': 2.2262895174708817, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1782762', 'n_tokens_mistral': 585, 'n_tokens_neox': 575, 'n_words': 147}