]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-2610 support url and description of manual measures
authorsimonbrandhof <simon.brandhof@gmail.com>
Thu, 14 Jul 2011 17:14:43 +0000 (19:14 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Thu, 14 Jul 2011 17:15:41 +0000 (19:15 +0200)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/ManualMeasureDecorator.java
plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/sensors/ManualMeasureDecoratorTest/testCopyManualMeasures.xml
sonar-core/src/main/java/org/sonar/jpa/entity/ManualMeasure.java
sonar-server/src/main/webapp/WEB-INF/app/controllers/api/manual_measures_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/models/manual_measure.rb
sonar-server/src/main/webapp/WEB-INF/db/migrate/211_create_manual_measures.rb

index 5d26067deee5c4be8175f65da5aa6fa63939f839..91935f4c6f7179d17e2872c8d52cc4eeec0d2c68 100644 (file)
@@ -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;
   }
 
index 9c77298318677ec15d6b510cd76a22bea9466467..78f114c5c0afcbfdb2e403b543a7f6d3268a8eda 100644 (file)
@@ -5,7 +5,7 @@
            enabled="true" worst_value="[null]" optimized_best_value="[null]" best_value="[null]" direction="0" hidden="false"/>
 
 
-  <manual_measures id="1" metric_id="2" resource_id="30" value="3.14" text_value="pi" created_at="[null]" updated_at="[null]"/>
-  <manual_measures id="2" metric_id="2" resource_id="40" value="6" text_value="six" created_at="[null]" updated_at="[null]"/>
+  <manual_measures id="1" metric_id="2" resource_id="30" value="3.14" text_value="pi" created_at="[null]" updated_at="[null]" description="this is pi" url="http://pi"/>
+  <manual_measures id="2" metric_id="2" resource_id="40" value="6" text_value="six" created_at="[null]" updated_at="[null]" description="this is six" url="http://six"/>
 
 </dataset>
\ No newline at end of file
index 9f0bbf94ba98cc050eef30ec0ccdcd8a351754ce..3e3544df58296525817ef12e6185afd9cd2f5a0f 100644 (file)
@@ -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;
   }
index e5ad10169e63be316f3e80f446bdc84e1e8e4b27..e131f23c30943a46d08553f6bfe1df4702a6d283 100644 (file)
@@ -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
index b458c336e2a641aa77736f721faf9ba0ea3173e4..e5500e0d5f9933d65debd9cc2dcbda93120ef8a4 100644 (file)
@@ -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
index 9a10482fa551fcb0e2015cfc1f77e5074e1eee90..cc3dee143afe8b0a57523ed36a8075dd46c9796d 100644 (file)
@@ -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')