public boolean isResourceInProject(Resource<?> resource, Project project) { final boolean result; if (resource instanceof Project) { result = resource.getEffectiveKey().equals(project.getEffectiveKey()); } else { Resource<?> parent = sensorContext.getParent(resource); if (parent == null) { // should not happen result = false; } else { result = isResourceInProject(parent, project); } } return result; }
public Project findParentProject(Resource<?> resource) { final Project result; if (resource instanceof Project) { result = (Project) resource; } else { Resource<?> parent = sensorContext.getParent(resource); if (parent == null) { // should not happen result = null; } else { result = findParentProject(parent); } } return result; }
private Violation createViolationOnResource(Resource<?> resource, Integer lineNumber) { if (StringUtils.isNotEmpty(currentSource) && resource == null) { LOG.debug("Ignoring violation on file outside current project ({})", currentSource); return null; } if (resource != null && !resourceHelper.isResourceInProject(resource, project)) { LOG.debug("Ignoring violation on file outside current project ({})", resource.getKey()); return null; } Violation violation = Violation.create(currentRule, resource); if (lineNumber != null) { violation.setLineId(lineNumber); } if (StringUtils.isEmpty(currentMessage)) { violation.setMessage(currentDefaultViolationMessage); } else { violation.setMessage(currentMessage); } violation.setSeverity(currentRule.getSeverity()); context.saveViolation(violation); return violation; }
saveViolation = false; } else if (typeResource == null || resourceHelper.isResourceInProject(typeResource, project)) { resource = typeResource; saveViolation = true;