From 896ec343357c59433b6f320a63296516a617c269 Mon Sep 17 00:00:00 2001 From: simonbrandhof Date: Thu, 14 Jul 2011 19:14:43 +0200 Subject: [PATCH] SONAR-2610 support url and description of manual measures --- .../core/sensors/ManualMeasureDecorator.java | 2 ++ .../testCopyManualMeasures.xml | 4 ++-- .../org/sonar/jpa/entity/ManualMeasure.java | 18 +++++++++++++++++- .../api/manual_measures_controller.rb | 4 ++++ .../WEB-INF/app/models/manual_measure.rb | 2 ++ .../db/migrate/211_create_manual_measures.rb | 2 ++ 6 files changed, 29 insertions(+), 3 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ManualMeasureDecorator.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ManualMeasureDecorator.java index 5d26067deee..91935f4c6f7 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ManualMeasureDecorator.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ManualMeasureDecorator.java @@ -59,6 +59,8 @@ public class ManualMeasureDecorator implements Decorator { Measure measure = new Measure(metricFinder.findById(manualMeasure.getMetricId())); measure.setValue(manualMeasure.getValue(), 5); measure.setData(manualMeasure.getTextValue()); + measure.setDescription(manualMeasure.getDescription()); + measure.setUrl(manualMeasure.getUrl()); return measure; } diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/sensors/ManualMeasureDecoratorTest/testCopyManualMeasures.xml b/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/sensors/ManualMeasureDecoratorTest/testCopyManualMeasures.xml index 9c772983186..78f114c5c0a 100644 --- a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/sensors/ManualMeasureDecoratorTest/testCopyManualMeasures.xml +++ b/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/sensors/ManualMeasureDecoratorTest/testCopyManualMeasures.xml @@ -5,7 +5,7 @@ enabled="true" worst_value="[null]" optimized_best_value="[null]" best_value="[null]" direction="0" hidden="false"/> - - + + \ No newline at end of file diff --git a/sonar-core/src/main/java/org/sonar/jpa/entity/ManualMeasure.java b/sonar-core/src/main/java/org/sonar/jpa/entity/ManualMeasure.java index 9f0bbf94ba9..3e3544df582 100644 --- a/sonar-core/src/main/java/org/sonar/jpa/entity/ManualMeasure.java +++ b/sonar-core/src/main/java/org/sonar/jpa/entity/ManualMeasure.java @@ -25,6 +25,8 @@ import java.util.Date; @Entity @Table(name = "manual_measures") public final class ManualMeasure { + private static final int MAX_TEXT_SIZE = 4000; + @Id @Column(name = "id") @GeneratedValue @@ -33,7 +35,7 @@ public final class ManualMeasure { @Column(name = "value", updatable = true, nullable = true, precision = 30, scale = 20) private Double value = null; - @Column(name = "text_value", updatable = true, nullable = true, length = 4000) + @Column(name = "text_value", updatable = true, nullable = true, length = MAX_TEXT_SIZE) private String textValue; @Column(name = "metric_id", updatable = false, nullable = false) @@ -42,6 +44,12 @@ public final class ManualMeasure { @Column(name = "resource_id", updatable = true, nullable = true) private Integer resourceId; + @Column(name = "description", updatable = true, nullable = true, length = MAX_TEXT_SIZE) + private String description; + + @Column(name = "url", updatable = true, nullable = true, length = MAX_TEXT_SIZE) + private String url; + @Column(name = "created_at", updatable = true, nullable = true) private Date createdAt; @@ -60,6 +68,14 @@ public final class ManualMeasure { return textValue; } + public String getDescription() { + return description; + } + + public String getUrl() { + return url; + } + public Integer getMetricId() { return metricId; } diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/manual_measures_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/manual_measures_controller.rb index e5ad10169e6..e131f23c309 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/manual_measures_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/manual_measures_controller.rb @@ -65,6 +65,8 @@ class Api::ManualMeasuresController < Api::ApiController measure.value = value measure.text_value = params[:text] + measure.description = params[:desc] + measure.url = params[:url] measure.save! respond_to do |format| @@ -102,6 +104,8 @@ class Api::ManualMeasuresController < Api::ApiController hash={:id => manual_measure.id, :metric => manual_measure.metric.key} hash[:val]=manual_measure.value if manual_measure.value hash[:text]=manual_measure.text_value if manual_measure.text_value + hash[:desc]=manual_measure.description if manual_measure.description + hash[:url]=manual_measure.url if manual_measure.url hash[:created_at]=format_datetime(manual_measure.created_at) hash[:updated_at]=format_datetime(manual_measure.updated_at) if manual_measure.updated_at if manual_measure.user diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/manual_measure.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/manual_measure.rb index b458c336e2a..e5500e0d5f9 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/models/manual_measure.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/models/manual_measure.rb @@ -22,6 +22,8 @@ class ManualMeasure < ActiveRecord::Base belongs_to :user validates_uniqueness_of :metric_id, :scope => :resource_id validates_length_of :text_value, :maximum => 4000, :allow_nil => true, :allow_blank => true + validates_length_of :url, :maximum => 4000, :allow_nil => true, :allow_blank => true + validates_length_of :description, :maximum => 4000, :allow_nil => true, :allow_blank => true validate :validate_metric def metric diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/211_create_manual_measures.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/211_create_manual_measures.rb index 9a10482fa55..cc3dee143af 100644 --- a/sonar-server/src/main/webapp/WEB-INF/db/migrate/211_create_manual_measures.rb +++ b/sonar-server/src/main/webapp/WEB-INF/db/migrate/211_create_manual_measures.rb @@ -30,6 +30,8 @@ class CreateManualMeasures < ActiveRecord::Migration t.column 'value', :decimal, :null => true, :precision => 30, :scale => 20 t.column 'text_value', :string, :null => true, :limit => 4000 t.column 'user_id', :integer, :null => true + t.column 'description', :string, :null => true, :limit => 4000 + t.column 'url', :string, :null => true, :limit => 4000 t.timestamps end alter_to_big_primary_key('manual_measures') -- 2.39.5