/** * Cost is set if <code>cost<code/> is more than zero. * */ private void commonAddIssue(JavaScriptCheck check, int line, String message, double cost){ Preconditions.checkNotNull(check); Preconditions.checkNotNull(message); CheckMessage checkMessage = new CheckMessage(check, message); if (cost > 0) { checkMessage.setCost(cost); } if (line > 0) { checkMessage.setLine(line); } sourceFile.log(checkMessage); }
@Override public void leaveFile(@Nullable AstNode astNode) { if ((nbClass + nbInterface) > 1) { CheckMessage msg = new CheckMessage((Object) this, "There are {0}{1}{2}in this file; move all but one of them to other files.", nbClass > 0 ? nbClass + " independent classes " : "", nbClass > 0 && nbInterface > 0 ? "and " : "", nbInterface > 0 ? nbInterface + " independent interfaces " : ""); int cost = nbClass + nbInterface - 1; msg.setCost(cost); getContext().log(msg); } } }
@Override public void addIssue(int line, JavaCheck javaCheck, String message, @Nullable Double cost) { Preconditions.checkNotNull(javaCheck); Preconditions.checkNotNull(message); CheckMessage checkMessage = new CheckMessage(javaCheck, message); if (line > 0) { checkMessage.setLine(line); } if (cost == null) { Annotation linear = AnnotationUtils.getAnnotation(javaCheck, SqaleLinearRemediation.class); Annotation linearWithOffset = AnnotationUtils.getAnnotation(javaCheck, SqaleLinearWithOffsetRemediation.class); if(linear != null || linearWithOffset != null) { throw new IllegalStateException("A check annotated with a linear sqale function should provide an effort to fix"); } } else { checkMessage.setCost(cost); } sourceFile.log(checkMessage); }
private static Collection<CheckMessage> getCheckMessages(List<Issue> issues) { List<CheckMessage> checkMessages = new ArrayList<>(); for (Issue issue : issues) { CheckMessage checkMessage; if (issue instanceof FileIssue) { FileIssue fileIssue = (FileIssue) issue; checkMessage = new CheckMessage(fileIssue.check(), fileIssue.message()); } else if (issue instanceof LineIssue) { LineIssue lineIssue = (LineIssue) issue; checkMessage = new CheckMessage(lineIssue.check(), lineIssue.message()); checkMessage.setLine(lineIssue.line()); } else { PreciseIssue preciseIssue = (PreciseIssue) issue; checkMessage = new CheckMessage(preciseIssue.check(), preciseIssue.primaryLocation().message()); checkMessage.setLine(preciseIssue.primaryLocation().startLine()); } if (issue.cost() != null) { checkMessage.setCost(issue.cost()); } checkMessages.add(checkMessage); } return checkMessages; }
private static Collection<CheckMessage> getCheckMessages(List<Issue> issues) { List<CheckMessage> checkMessages = new ArrayList<>(); for (Issue issue : issues) { CheckMessage checkMessage; if (issue instanceof FileIssue) { FileIssue fileIssue = (FileIssue) issue; checkMessage = new CheckMessage(fileIssue.check(), fileIssue.message()); } else if (issue instanceof LineIssue) { LineIssue lineIssue = (LineIssue) issue; checkMessage = new CheckMessage(lineIssue.check(), lineIssue.message()); checkMessage.setLine(lineIssue.line()); } else { PreciseIssue preciseIssue = (PreciseIssue) issue; checkMessage = new CheckMessage(preciseIssue.check(), preciseIssue.primaryLocation().message()); checkMessage.setLine(preciseIssue.primaryLocation().startLine()); } if (issue.cost() != null) { checkMessage.setCost(issue.cost()); } checkMessages.add(checkMessage); } return checkMessages; }