/** * Shortcut for <code>build(true)</code> * * @return the built measure */ @Override public Measure<String> build() { return build(true); }
private void saveFilesComplexityDistribution(File sonarFile, SourceFile squidFile) { RangeDistributionBuilder complexityDistribution = new RangeDistributionBuilder(CoreMetrics.FILE_COMPLEXITY_DISTRIBUTION, FILES_DISTRIB_BOTTOM_LIMITS); complexityDistribution.add(squidFile.getDouble(ObjectiveCMetric.COMPLEXITY)); context.saveMeasure(sonarFile, complexityDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); }
private void saveFilesComplexityDistribution(File sonarFile, SourceFile squidFile) { RangeDistributionBuilder complexityDistribution = new RangeDistributionBuilder(CoreMetrics.FILE_COMPLEXITY_DISTRIBUTION, FILES_DISTRIB_BOTTOM_LIMITS); complexityDistribution.add(squidFile.getDouble(EcmaScriptMetric.COMPLEXITY)); context.saveMeasure(sonarFile, complexityDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); }
@Override public Measure calculate(FormulaData data, FormulaContext context) { Collection<Measure> measures = data.getChildrenMeasures(context.getTargetMetric()); if (measures == null || measures.isEmpty()) { return null; } RangeDistributionBuilder distribution = new RangeDistributionBuilder(context.getTargetMetric()); for (Measure measure : measures) { distribution.add(measure); } Measure measure = distribution.build(); if (!Scopes.isHigherThanOrEquals(context.getResource().getScope(), minimumScopeToPersist)) { measure.setPersistenceMode(PersistenceMode.MEMORY); } return measure; } }
private void saveComplexityDistribution(SensorContext sensorContext, WebSourceCode sourceCode) { if (sourceCode.getMeasure(CoreMetrics.COMPLEXITY) != null) { RangeDistributionBuilder complexityFileDistribution = new RangeDistributionBuilder(CoreMetrics.FILE_COMPLEXITY_DISTRIBUTION, FILES_DISTRIB_BOTTOM_LIMITS); complexityFileDistribution.add(sourceCode.getMeasure(CoreMetrics.COMPLEXITY).getValue()); sensorContext.saveMeasure(sourceCode.getResource(), complexityFileDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); } }
private void saveFunctionsComplexityDistribution(File sonarFile, SourceFile squidFile) { Collection<SourceCode> squidFunctionsInFile = scanner.getIndex().search(new QueryByParent(squidFile), new QueryByType(SourceFunction.class)); RangeDistributionBuilder complexityDistribution = new RangeDistributionBuilder(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION, FUNCTIONS_DISTRIB_BOTTOM_LIMITS); for (SourceCode squidFunction : squidFunctionsInFile) { complexityDistribution.add(squidFunction.getDouble(ObjectiveCMetric.COMPLEXITY)); } context.saveMeasure(sonarFile, complexityDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); }
private void saveClassesComplexityDistribution(File sonarFile, SourceFile squidFile) { Collection<SourceCode> squidClasses = scanner.getIndex().search(new QueryByParent(squidFile), new QueryByType(SourceClass.class)); RangeDistributionBuilder complexityClassDistribution = new RangeDistributionBuilder(CoreMetrics.CLASS_COMPLEXITY_DISTRIBUTION, CLASS_DISTRIB_BOTTOM_LIMITS); for (SourceCode squidClass : squidClasses) { complexityClassDistribution.add(squidClass.getDouble(CSharpMetric.COMPLEXITY)); } context.saveMeasure(sonarFile, complexityClassDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); }
private void saveMethodsComplexityDistribution(File sonarFile, SourceFile squidFile) { Collection<SourceCode> squidMethods = scanner.getIndex().search(new QueryByParent(squidFile), new QueryByType(SourceMember.class)); RangeDistributionBuilder complexityMethodDistribution = new RangeDistributionBuilder(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION, METHOD_DISTRIB_BOTTOM_LIMITS); for (SourceCode squidMethod : squidMethods) { complexityMethodDistribution.add(squidMethod.getDouble(CSharpMetric.COMPLEXITY)); } context.saveMeasure(sonarFile, complexityMethodDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); }
private void saveFunctionsComplexityAndDistribution(File sonarFile, SourceFile squidFile) { Collection<SourceCode> squidFunctionsInFile = scanner.getIndex().search(new QueryByParent(squidFile), new QueryByType(SourceFunction.class)); RangeDistributionBuilder complexityDistribution = new RangeDistributionBuilder(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION, FUNCTIONS_DISTRIB_BOTTOM_LIMITS); double complexityInFunction = 0; for (SourceCode squidFunction : squidFunctionsInFile) { double functionComplexity = squidFunction.getDouble(EcmaScriptMetric.COMPLEXITY); complexityDistribution.add(functionComplexity); complexityInFunction += functionComplexity; } context.saveMeasure(sonarFile, complexityDistribution.build().setPersistenceMode(PersistenceMode.MEMORY)); context.saveMeasure(sonarFile, CoreMetrics.COMPLEXITY_IN_FUNCTIONS, complexityInFunction); }
saveMetricOnFile(CoreMetrics.NCLOC, new LinesOfCodeVisitor().linesOfCode(context.getTree())); sensorContext.saveMeasure(sonarFile, methodComplexityDistribution.build(true).setPersistenceMode(PersistenceMode.MEMORY)); sensorContext.saveMeasure(sonarFile, fileComplexityDistribution.add(fileComplexity).build(true).setPersistenceMode(PersistenceMode.MEMORY)); saveLinesMetric();
saveMetricOnFile(CoreMetrics.NCLOC, new LinesOfCodeVisitor().linesOfCode(context.getTree())); sensorContext.saveMeasure(sonarFile, methodComplexityDistribution.build(true).setPersistenceMode(PersistenceMode.MEMORY)); sensorContext.saveMeasure(sonarFile, fileComplexityDistribution.add(fileComplexity).build(true).setPersistenceMode(PersistenceMode.MEMORY)); saveLinesMetric();