@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !getClass().getName().equals(o.getClass().getName()) ) { return false; } Resource resource = (Resource) o; return getKey().equals(resource.getKey()); }
@Override public void decorate(Resource resource, DecoratorContext context) { if (shouldDecorateResource(resource)) { LoggerFactory.getLogger(ApplyProjectRolesDecorator.class).info("Grant default permissions to {}", resource.getKey()); resourcePermissions.grantDefaultRoles(resource); } }
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; }
@Override public void decorate(Resource resource, DecoratorContext context) { double uselessDuplicatedLines = 0; Measure measure = context.getMeasure(CoreMetrics.DUPLICATIONS_DATA); if (MeasureUtils.hasData(measure)) { String resourceKey = new StringBuilder(ResourceModel.KEY_SIZE) .append(context.getProject().getKey()) .append(':') .append(context.getResource().getKey()) .toString(); List<List<Block>> groups = parseDuplicationData(measure.getData()); uselessDuplicatedLines = analyse(groups, resourceKey); } uselessDuplicatedLines += MeasureUtils.sum(true, context.getChildrenMeasures(TrackerMetrics.USELESS_DUPLICATED_LINES)); if (uselessDuplicatedLines > 0) { context.saveMeasure(TrackerMetrics.USELESS_DUPLICATED_LINES, uselessDuplicatedLines); } }
private Bucket doIndex(Resource resource, @Nullable Resource parentReference) { Bucket bucket = getBucket(resource); if (bucket != null) { return bucket; } if (StringUtils.isBlank(resource.getKey())) { LOG.warn("Unable to index a resource without key " + resource); return null; } Resource parent = null; if (!ResourceUtils.isLibrary(resource)) { // a library has no parent parent = (Resource) ObjectUtils.defaultIfNull(parentReference, currentProject); } Bucket parentBucket = getBucket(parent); if (parentBucket == null && parent != null) { LOG.warn("Resource ignored, parent is not indexed: " + resource); return null; } if (ResourceUtils.isProject(resource) || /* For technical projects */ResourceUtils.isRootProject(resource)) { resource.setEffectiveKey(resource.getKey()); } else { resource.setEffectiveKey(ComponentKeys.createEffectiveKey(currentProject, resource)); } bucket = new Bucket(resource).setParent(parentBucket); addBucket(resource, bucket); Resource parentResource = parentBucket != null ? parentBucket.getResource() : null; resourceCache.add(resource, parentResource); return bucket; }
private void reportIssues(ResourceMapping resourceMapping, NoSonarFilter noSonarFilter, ChecksBridge checksBridge, Project project) { for (Resource directory : resourceMapping.directories()) { checksBridge.reportIssueForPackageInfo((Directory) directory, project); for (Resource sonarFile : resourceMapping.files((Directory) directory)) { String key = resourceMapping.getFileKeyByResource((org.sonar.api.resources.File) sonarFile); //key would be null for test files as they are not in squid index. if(key != null) { SourceFile squidFile = (SourceFile) squid.search(key); if (squidFile != null) { noSonarFilter.addResource(sonarFile, squidFile.getNoSonarTagLines()); checksBridge.reportIssues(squidFile, sonarFile); } else { LOG.error("Could not report issue on file: " + sonarFile.getKey()); } } } } }
return null; if (StringUtils.isNotBlank(reference.getKey())) { return buckets.get(reference);
private Bucket doIndex(Resource resource, @Nullable Resource parentReference) { Bucket bucket = getBucket(resource); if (bucket != null) { return bucket; } if (StringUtils.isBlank(resource.getKey())) { LOG.warn("Unable to index a resource without key " + resource); return null; } Resource parent = (Resource) ObjectUtils.defaultIfNull(parentReference, currentProject); Bucket parentBucket = getBucket(parent); if (parentBucket == null && parent != null) { LOG.warn("Resource ignored, parent is not indexed: " + resource); return null; } if (ResourceUtils.isProject(resource) || /* For technical projects */ResourceUtils.isRootProject(resource)) { resource.setEffectiveKey(resource.getKey()); } else { resource.setEffectiveKey(ComponentKeys.createEffectiveKey(currentProject, resource)); } bucket = new Bucket(resource).setParent(parentBucket); addBucket(resource, bucket); Resource parentResource = parentBucket != null ? parentBucket.getResource() : null; BatchComponent component = componentCache.add(resource, parentResource); if (ResourceUtils.isProject(resource)) { component.setInputComponent(new DefaultInputModule(resource.getEffectiveKey())); } return bucket; }
private long getDevelopmentCost(DecoratorContext context) { InputFile file = fs.inputFile(fs.predicates().hasRelativePath(context.getResource().getKey())); if (file != null) { String language = file.language(); return getMeasureValue(context, sqaleRatingSettings.getSizeMetric(language, metrics)) * sqaleRatingSettings.getDevCost(language); } else { Collection<Measure> childrenMeasures = context.getChildrenMeasures(CoreMetrics.DEVELOPMENT_COST); Double sum = sum(childrenMeasures); return sum.longValue(); } }
return null; if (StringUtils.isNotBlank(reference.getKey())) { return buckets.get(reference);
protected void notifyUsers(Resource resource, String alertName, String alertText, Level alertLevel, boolean isNewAlert) { Notification notification = new Notification("alerts") .setDefaultMessage("Alert on " + resource.getLongName() + ": " + alertName) .setFieldValue("projectName", resource.getLongName()) .setFieldValue("projectKey", resource.getKey()) .setFieldValue("projectId", String.valueOf(resource.getId())) .setFieldValue("alertName", alertName) .setFieldValue("alertText", alertText) .setFieldValue("alertLevel", alertLevel.toString()) .setFieldValue("isNewAlert", Boolean.toString(isNewAlert)); notificationManager.scheduleForSending(notification); }
ResourceModel createModel(Resource resource, @Nullable Resource parentResource) { ResourceModel model = new ResourceModel(); model.setEnabled(Boolean.TRUE); model.setDescription(resource.getDescription()); model.setKey(resource.getEffectiveKey()); model.setUuid(Uuids.create()); model.setPath(resource.getPath()); Language language = resource.getLanguage(); if (language != null) { model.setLanguageKey(language.getKey()); } if (StringUtils.isNotBlank(resource.getName())) { model.setName(resource.getName()); } else { model.setName(resource.getKey()); } model.setLongName(resource.getLongName()); model.setScope(resource.getScope()); model.setQualifier(resource.getQualifier()); return model; }
/** * Maps a resource to a resource model and returns the resource */ public static ResourceModel build(Resource resource) { ResourceModel model = new ResourceModel(); model.setEnabled(Boolean.TRUE); model.setDescription(resource.getDescription()); model.setKey(resource.getEffectiveKey()); model.setPath(resource.getPath()); Language lang = resource.getLanguage(); if (lang != null) { model.setLanguageKey(lang.getKey()); } if (StringUtils.isNotBlank(resource.getName())) { model.setName(resource.getName()); } else { model.setName(resource.getKey()); } model.setLongName(resource.getLongName()); model.setQualifier(resource.getQualifier()); model.setScope(resource.getScope()); return model; }