@Override public void decorate(Resource resource, DecoratorContext context) { if (!ResourceUtils.isFile(resource) && !ResourceUtils.isPackage(resource)) { double lines = 0.0; Measure duplicated = context.getMeasure(TrackerMetrics.USELESS_DUPLICATED_LINES); if (duplicated != null ) { lines += MeasureUtils.getValue(duplicated, 0.0); context.saveMeasure(TrackerMetrics.TOTAL_USELESS_LINES, lines); } } }
private void computeAbacusComplexity(Resource rsrc, DecoratorContext dc) { if (ResourceUtils.isFile(rsrc) || ResourceUtils.isPackage(rsrc) || ResourceUtils.isDirectory(rsrc) || ResourceUtils.isRootProject(rsrc) || ResourceUtils.isModuleProject(rsrc)) { Double fileComplexity = MeasureUtils.getValue(dc.getMeasure(CoreMetrics.FILE_COMPLEXITY), Double.NaN); if (!Double.isNaN(fileComplexity)) { dc.saveMeasure(new Measure(AbacusMetrics.ABACUS_COMPLEXITY, ComplexityThresholdsUtils.convertCyclomaticComplexityToAbacusComplexity(fileComplexity, complexityThresholds))); } } }
private void computeAbacusComplexityDistribution(Resource rsrc, DecoratorContext dc) { if (ResourceUtils.isPackage(rsrc) || ResourceUtils.isDirectory(rsrc)) { ComplexityThresholdsUtils.initCounterThreshold(complexityThresholds); for (Measure measure : dc.getChildrenMeasures(AbacusMetrics.ABACUS_COMPLEXITY)) { for (ComplexityThreshold complexityThreshold : complexityThresholds) { if (measure.getData() != null && measure.getData().equals(complexityThreshold.getComplexityName())) { complexityThreshold.incrementCounter(1); break; } } } dc.saveMeasure(new Measure(AbacusMetrics.ABACUS_COMPLEXITY_DISTRIBUTION, ComplexityThresholdsUtils.buildComplexityDistributionMeasureValue(complexityThresholds))); } else if (ResourceUtils.isRootProject(rsrc) || ResourceUtils.isModuleProject(rsrc)) { ComplexityThresholdsUtils.initCounterThreshold(complexityThresholds); for (Measure measure : dc.getChildrenMeasures(AbacusMetrics.ABACUS_COMPLEXITY_DISTRIBUTION)) { String[] distribution = measure.getData().split(";"); for (String aDistribution : distribution) { String[] tmp = aDistribution.split("="); for (ComplexityThreshold complexityThreshold : complexityThresholds) { if (tmp[0].equals(complexityThreshold.getComplexityName())) { complexityThreshold.incrementCounter(Integer.parseInt(tmp[1])); break; } } } } dc.saveMeasure(new Measure(AbacusMetrics.ABACUS_COMPLEXITY_DISTRIBUTION, ComplexityThresholdsUtils.buildComplexityDistributionMeasureValue(complexityThresholds))); } }