Refine search
static Measure toMeasure(MeasureModel model, Metric metric, @Nullable Characteristic characteristic) { // NOTE: measures on rule are not supported Measure measure = new Measure(metric); measure.setDescription(model.getDescription()); measure.setValue(model.getValue()); measure.setData(model.getData(metric)); measure.setAlertStatus(model.getAlertStatus()); measure.setAlertText(model.getAlertText()); measure.setTendency(model.getTendency()); measure.setVariation1(model.getVariationValue1()); measure.setVariation2(model.getVariationValue2()); measure.setVariation3(model.getVariationValue3()); measure.setVariation4(model.getVariationValue4()); measure.setVariation5(model.getVariationValue5()); measure.setUrl(model.getUrl()); measure.setCharacteristic(characteristic); measure.setPersonId(model.getPersonId()); return measure; } }
private Measure createCoveredConditionsByLine() { return new Measure(CoreMetrics.COVERED_CONDITIONS_BY_LINE) .setData(KeyValueFormat.format(coveredConditionsByLine)) .setPersistenceMode(PersistenceMode.DATABASE); }
/** * Get the value of a measure, or alternatively a default value * * @param measure the measure * @param defaultValue the default value * @return <code>defaultValue</code> if measure is null or has no values. */ public static Double getValue(Measure measure, @Nullable Double defaultValue) { if (MeasureUtils.hasValue(measure)) { return measure.getValue(); } return defaultValue; }
private static boolean isMeasureNotEmpty(Measure measure) { boolean isNotEmpty = false; for (int i = 1; i <= 5; i++) { isNotEmpty = isNotEmpty || measure.getVariation(i) != null; } return measure.getValue() != null || measure.getData() != null || isNotEmpty; }
private static void validateMeasure(Measure measure, String componentKey) { if (measure.getValue() == null && measure.getData() == null) { throw new IllegalArgumentException(String.format("Measure on metric '%s' and component '%s' has no value, but it's not allowed", measure.getMetricKey(), componentKey)); } }
private Measure convertForOverall(Measure measure) { Measure itMeasure = null; if (CoreMetrics.LINES_TO_COVER.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_LINES_TO_COVER, measure.getValue()); } else if (CoreMetrics.UNCOVERED_LINES.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_UNCOVERED_LINES, measure.getValue()); } else if (CoreMetrics.COVERAGE_LINE_HITS_DATA.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_COVERAGE_LINE_HITS_DATA, measure.getData()); } else if (CoreMetrics.CONDITIONS_TO_COVER.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_CONDITIONS_TO_COVER, measure.getValue()); } else if (CoreMetrics.UNCOVERED_CONDITIONS.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_UNCOVERED_CONDITIONS, measure.getValue()); } else if (CoreMetrics.COVERED_CONDITIONS_BY_LINE.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_COVERED_CONDITIONS_BY_LINE, measure.getData()); } else if (CoreMetrics.CONDITIONS_BY_LINE.equals(measure.getMetric())) { itMeasure = new Measure(CoreMetrics.OVERALL_CONDITIONS_BY_LINE, measure.getData()); } return itMeasure; } }
@Override public void put(Value value, Object object, CoderContext context) { Measure<?> m = (Measure) object; value.putUTF(m.getMetricKey()); value.put(m.getValue()); putUTFOrNull(value, m.getData()); putUTFOrNull(value, m.getDescription()); value.putString(m.getAlertStatus() != null ? m.getAlertStatus().name() : null); putUTFOrNull(value, m.getAlertText()); value.putDate(m.getDate()); value.put(m.getVariation1()); value.put(m.getVariation2()); value.put(m.getVariation3()); value.put(m.getVariation4()); value.put(m.getVariation5()); putUTFOrNull(value, m.getUrl()); Integer personId = m.getPersonId(); value.put(personId != null ? personId.intValue() : null); PersistenceMode persistenceMode = m.getPersistenceMode(); value.putString(persistenceMode != null ? persistenceMode.name() : null); }
/** * Used to build a measure from the current object * * @param allowEmptyData should be built if current object is empty * @return the built measure */ public Measure<String> build(boolean allowEmptyData) { if (isValid && (!isEmpty || allowEmptyData)) { return new Measure<String>(metric, KeyValueFormat.format(countBag, -1)); } return null; }
static MeasureModel model(Measure measure, RuleFinder ruleFinder) { MeasureModel model = new MeasureModel(); model.setMetricId(measure.getMetric().getId()); model.setDescription(measure.getDescription()); model.setData(measure.getData()); model.setAlertStatus(measure.getAlertStatus()); model.setAlertText(measure.getAlertText()); model.setTendency(measure.getTendency()); model.setVariationValue1(measure.getVariation1()); model.setVariationValue2(measure.getVariation2()); model.setVariationValue3(measure.getVariation3()); model.setVariationValue4(measure.getVariation4()); model.setVariationValue5(measure.getVariation5()); model.setUrl(measure.getUrl()); Characteristic characteristic = measure.getCharacteristic(); if (characteristic != null) { model.setCharacteristicId(characteristic.id()); model.setPersonId(measure.getPersonId()); model.setValue(measure.getValue()); if (measure instanceof RuleMeasure) { RuleMeasure ruleMeasure = (RuleMeasure) measure;
protected final void saveDsm(DecoratorContext context, Dsm<Resource> dsm) { Measure measure = new Measure(CoreMetrics.DEPENDENCY_MATRIX, DsmSerializer.serialize(dsm)); measure.setPersistenceMode(PersistenceMode.DATABASE); context.saveMeasure(measure); }
switch (getMetric().getType()) { case BOOL: return (G) Boolean.valueOf(Double.doubleToRawLongBits(value) != 0L); case DATA: case DISTRIB: return (G) getData(); case WORK_DUR: return (G) Long.valueOf(value.longValue()); default: if (getMetric().isNumericType()) { return (G) getValue(); } else if (getMetric().isDataType()) { return (G) getData(); } else { throw new UnsupportedOperationException("Unsupported type :" + getMetric().getType());
private void saveCommentsDensity(DecoratorContext context) { if (context.getMeasure(CoreMetrics.COMMENT_LINES_DENSITY) != null) { return; } Measure ncloc = context.getMeasure(CoreMetrics.NCLOC); Measure comments = context.getMeasure(CoreMetrics.COMMENT_LINES); if (MeasureUtils.hasValue(ncloc) && MeasureUtils.hasValue(comments) && (comments.getValue() + ncloc.getValue()) > 0) { double val = 100.0 * (comments.getValue() / (comments.getValue() + ncloc.getValue())); context.saveMeasure(new Measure(CoreMetrics.COMMENT_LINES_DENSITY, val)); } }
/** * Builds and returns a measure. * * @param measueBuilder builder. * @return the measure. */ private Measure buildMeasure(MeasureBuilder measueBuilder) { return measueBuilder.build().setPersistenceMode(PersistenceMode.MEMORY); } }
/** * Tests if a measure has a value * * @param measure the measure * @return whether the measure has a value */ public static boolean hasValue(Measure measure) { return measure != null && measure.getValue() != null; }
@Override public void store(Measure newMeasure) { DefaultMeasure measure = (DefaultMeasure) newMeasure; org.sonar.api.measures.Metric m = findMetricOrFail(measure.metric().key()); org.sonar.api.measures.Measure measureToSave = new org.sonar.api.measures.Measure(m); setValueAccordingToMetricType(newMeasure, m, measureToSave); measureToSave.setFromCore(measure.isFromCore()); InputFile inputFile = newMeasure.inputFile(); if (inputFile != null) { Formula formula = newMeasure.metric() instanceof org.sonar.api.measures.Metric ? ((org.sonar.api.measures.Metric) newMeasure.metric()).getFormula() : null; if (formula instanceof SumChildDistributionFormula && !Scopes.isHigherThanOrEquals(Scopes.FILE, ((SumChildDistributionFormula) formula).getMinimumScopeToPersist())) { measureToSave.setPersistenceMode(PersistenceMode.MEMORY); } File sonarFile = getFile(inputFile); if (coverageExclusions.accept(sonarFile, measureToSave)) { sonarIndex.addMeasure(sonarFile, measureToSave); } } else { sonarIndex.addMeasure(project, measureToSave); } }
private BatchReport.Measure toReportMeasure(BatchReport.Measure.Builder builder, Measure measure) { builder.clear(); builder.setValueType(getMeasureValueType(measure.getMetric().getType())); setValueAccordingToType(builder, measure); // Because some numeric measures also have a data (like Sqale rating) String data = measure.getData(); if (data != null) { builder.setStringValue(data); } builder.setMetricKey(measure.getMetricKey()); return builder.build(); }
Integer metricId = measure.getMetric().getId(); if (metricId == null) { Metric metric = metricFinder.findByKey(measure.getMetric().getKey()); if (metric == null) { throw new IllegalStateException("Unknow metric with key: " + measure.getMetric().getKey()); metricId = metric.getId(); Characteristic characteristic = measure.getCharacteristic(); Integer characteristicId = characteristic != null ? characteristic.id() : null; Integer personId = measure.getPersonId(); Integer ruleId = null; if (measure instanceof RuleMeasure) {