@Override public void decorate(Resource resource, DecoratorContext context) { if (!ResourceUtils.isPersistable(resource)) { return; } File path = null; if (ResourceUtils.isProject(resource)) { path = fs.baseDir(); } else if (resource.getPath() != null) { path = new File(fs.baseDir(), resource.getPath()); } ResourceNode resourceNode = new ResourceNode(resource, path, fs.sourceCharset()); RESOURCE_BY_KEY.put(resource.getEffectiveKey(), resourceNode); for (DecoratorContext childContext : context.getChildren()) { Resource child = childContext.getResource(); ResourceNode childNode = RESOURCE_BY_KEY.get(child.getEffectiveKey()); if (childNode != null) { resourceNode.addChild(childNode); } } }
@Override public void decorate(Resource resource, DecoratorContext context) { if (ResourceUtils.isPersistable(resource) && !ResourceUtils.isUnitTestFile(resource)) { Long developmentCost = getDevelopmentCost(context); context.saveMeasure(new Measure(CoreMetrics.DEVELOPMENT_COST, Long.toString(developmentCost))); long debt = getMeasureValue(context, CoreMetrics.TECHNICAL_DEBT); double density = computeDensity(debt, developmentCost); context.saveMeasure(CoreMetrics.SQALE_DEBT_RATIO, 100.0 * density); SqaleRatingGrid ratingGrid = new SqaleRatingGrid(sqaleRatingSettings.getRatingGrid()); context.saveMeasure(createRatingMeasure(ratingGrid.getRatingForDensity(density))); } }
private void persist(BatchResource batchResource) { if (batchResource.snapshot() != null) { // already persisted return; } BatchResource parentBatchResource = batchResource.parent(); Snapshot s; if (parentBatchResource != null) { persist(parentBatchResource); s = persist(findModule(parentBatchResource), batchResource.resource(), parentBatchResource.resource()); } else { // Root project s = persistProject((Project) batchResource.resource(), null); } batchResource.setSnapshot(s); if (ResourceUtils.isPersistable(batchResource.resource())) { graph.addComponent(batchResource.resource(), batchResource.snapshotId()); } }