aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/webapp/WEB-INF
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-06-09 17:09:20 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-06-14 16:12:01 +0200
commita9f33af2ab0e8a72609d7304af65758c3f39bfa7 (patch)
tree7a2cc8c54bb735841f380636c1205904c80841e1 /server/sonar-web/src/main/webapp/WEB-INF
parentdaee45d773b4f7ca9fa835c761b66ecec134d961 (diff)
downloadsonarqube-a9f33af2ab0e8a72609d7304af65758c3f39bfa7.tar.gz
sonarqube-a9f33af2ab0e8a72609d7304af65758c3f39bfa7.zip
SONAR-7693 support removal of ID columns in SNAPSHOTS
Diffstat (limited to 'server/sonar-web/src/main/webapp/WEB-INF')
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb6
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb26
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb10
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb4
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb10
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb4
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb12
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb8
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb20
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb6
10 files changed, 51 insertions, 55 deletions
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
index 44277d0885b..7900407f219 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/events_controller.rb
@@ -130,10 +130,10 @@ class Api::EventsController < Api::ApiController
if (params[:dateTime])
# try to find a snapshot on that day
date = parse_datetime(params[:dateTime], true)
- root_snapshot = Snapshot.find(:last, :conditions => ["project_id = ? AND created_at >= ? AND created_at <= ?", @resource.id, date.to_i*1000, (date + 1.day).to_i*1000], :order => :created_at)
+ root_snapshot = Snapshot.find(:last, :conditions => ["component_uuid = ? AND created_at >= ? AND created_at <= ?", @resource.uuid, date.to_i*1000, (date + 1.day).to_i*1000], :order => :created_at)
raise "No snapshot exists for given date" unless root_snapshot
else
- root_snapshot = Snapshot.find(:last, :conditions => ["project_id = ?", @resource.id], :order => :created_at)
+ root_snapshot = Snapshot.find(:last, :conditions => ["component_uuid = ?", @resource.uuid], :order => :created_at)
end
raise "A version already exists on this resource." if params[:category]==EventCategory::KEY_VERSION && root_snapshot.event(EventCategory::KEY_VERSION)
@@ -161,7 +161,7 @@ class Api::EventsController < Api::ApiController
:event_date => snapshot.created_at
)
event.save!
- event_to_return = event if snapshot.project_id = @resource.id
+ event_to_return = event if snapshot.component_uuid = @resource.uuid
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
index cac85bb1e1d..de02d22c9cd 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/projects_controller.rb
@@ -38,7 +38,7 @@ class Api::ProjectsController < Api::ApiController
begin
@show_description=(params[:desc]=='true')
@projects=load_projects
- @snapshots_by_pid=load_snapshots_by_project
+ @snapshots_by_puuid=load_snapshots_by_project
respond_to do |format|
format.json{ render :json => jsonp(to_json) }
format.xml { render :xml => to_xml }
@@ -115,7 +115,7 @@ class Api::ProjectsController < Api::ApiController
end
# this is really an advanced optimization !
- select_columns='id,kee,name,language,long_name,scope,qualifier,root_id'
+ select_columns='id,uuid,kee,name,language,long_name,scope,qualifier,root_id'
select_columns += ',description' if @show_description
projects=Project.find(:all, :select => select_columns, :conditions => [conditions.join(' AND '), values], :order => 'name')
@@ -123,21 +123,21 @@ class Api::ProjectsController < Api::ApiController
end
def load_snapshots_by_project
- select_columns='id,project_id,version,islast,created_at'
+ select_columns='id,component_uuid,version,islast,created_at'
if params[:versions]=='true'
- snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND s1.project_id IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.project_id=s1.project_id AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', @projects.map{|p| p.id}])
+ snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND s1.component_uuid IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.component_uuid=s1.component_uuid AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', @projects.map{|p| p.uuid}])
elsif params[:versions]=='last'
- snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND islast=? AND s1.project_id IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.project_id=s1.project_id AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', true, @projects.map{|p| p.id}])
+ snapshots=Snapshot.find_by_sql(["SELECT #{select_columns} FROM snapshots s1 WHERE s1.status=? AND islast=? AND s1.component_uuid IN (?) AND NOT EXISTS(SELECT * FROM snapshots s2 WHERE s2.component_uuid=s1.component_uuid AND s2.created_at>s1.created_at AND s2.version=s1.version)", 'P', true, @projects.map{|p| p.uuid}])
else
snapshots=[]
end
- snapshots_by_project_id={}
+ snapshots_by_project_uuid={}
snapshots.each do |s|
- snapshots_by_project_id[s.project_id]||=[]
- snapshots_by_project_id[s.project_id]<<s
+ snapshots_by_project_uuid[s.component_uuid]||=[]
+ snapshots_by_project_uuid[s.component_uuid]<<s
end
- snapshots_by_project_id
+ snapshots_by_project_uuid
end
def to_json
@@ -145,9 +145,9 @@ class Api::ProjectsController < Api::ApiController
@projects.each do |project|
hash=to_json_hash(project)
- if @snapshots_by_pid && @snapshots_by_pid[project.id]
+ if @snapshots_by_puuid && @snapshots_by_puuid[project.uuid]
versions={}
- @snapshots_by_pid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
+ @snapshots_by_puuid[project.uuid].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
version={:sid => snapshot.id.to_s}
version[:d]=Api::Utils.format_datetime(snapshot.created_at) if snapshot.created_at
if snapshot.last?
@@ -189,8 +189,8 @@ class Api::ProjectsController < Api::ApiController
xml.qualifier(project.qualifier)
xml.desc(project.description) if @show_description && project.description
- if @snapshots_by_pid && @snapshots_by_pid[project.id]
- @snapshots_by_pid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
+ if @snapshots_by_puuid && @snapshots_by_puuid[project.uuid]
+ @snapshots_by_puuid[project.id].sort{|s1,s2| s2.version <=> s1.version}.each do |snapshot|
attributes={:sid => snapshot.id.to_s, :last => snapshot.last?}
attributes[:date]=Api::Utils.format_datetime(snapshot.created_at) if snapshot.created_at
xml.version(snapshot.version, attributes)
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
index 35f9baa870b..9be60b5114a 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/resources_controller.rb
@@ -227,10 +227,10 @@ class Api::ResourcesController < Api::ApiController
# ---------- PREPARE RESPONSE
resource_by_sid={}
- snapshots_by_rid={}
+ snapshots_by_uuid={}
snapshots_including_resource.each do |snapshot|
resource_by_sid[snapshot.id]=snapshot.project
- snapshots_by_rid[snapshot.project_id]=snapshot
+ snapshots_by_uuid[snapshot.component_uuid]=snapshot
end
@@ -248,7 +248,7 @@ class Api::ResourcesController < Api::ApiController
sorted_resources=sorted_resources.uniq.compact
# ---------- FORMAT RESPONSE
- objects={:sorted_resources => sorted_resources, :snapshots_by_rid => snapshots_by_rid, :measures_by_sid => measures_by_sid, :params => params}
+ objects={:sorted_resources => sorted_resources, :snapshots_by_uuid => snapshots_by_uuid, :measures_by_sid => measures_by_sid, :params => params}
respond_to do |format|
format.json { render :json => jsonp(to_json(objects)) }
format.xml { render :xml => to_xml(objects) }
@@ -277,13 +277,13 @@ class Api::ResourcesController < Api::ApiController
def to_json(objects)
resources = objects[:sorted_resources]
- snapshots_by_rid = objects[:snapshots_by_rid]
+ snapshots_by_uuid = objects[:snapshots_by_uuid]
measures_by_sid = objects[:measures_by_sid]
params = objects[:params]
result=[]
resources.each do |resource|
- snapshot=snapshots_by_rid[resource.id]
+ snapshot=snapshots_by_uuid[resource.uuid]
result<<resource_to_json(resource, snapshot, measures_by_sid[snapshot.id], params)
end
result
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
index 746e1a32418..4a3f6ac09a9 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/timemachine_controller.rb
@@ -68,8 +68,8 @@ class Api::TimemachineController < Api::ApiController
@measures_by_sid={}
unless @metrics.empty?
- sql_conditions = ['snapshots.project_id=:rid AND snapshots.status=:status AND project_measures.person_id IS NULL']
- sql_values = {:rid => @resource.id, :status => Snapshot::STATUS_PROCESSED}
+ sql_conditions = ['snapshots.component_uuid=:rid AND snapshots.status=:status AND project_measures.person_id IS NULL']
+ sql_values = {:rid => @resource.uuid, :status => Snapshot::STATUS_PROCESSED}
if params[:fromDateTime]
from = parse_datetime(params[:fromDateTime])
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
index 169e153b56a..16fbb908651 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/project_controller.rb
@@ -221,7 +221,7 @@ class ProjectController < ApplicationController
end
@snapshot=@project.last_snapshot
- @snapshots = Snapshot.all(:conditions => ["status='P' AND project_id=?", @project.id],
+ @snapshots = Snapshot.all(:conditions => ["status='P' AND component_uuid=?", @project.uuid],
:include => 'events', :order => 'snapshots.created_at DESC')
end
@@ -320,7 +320,7 @@ class ProjectController < ApplicationController
end
end
- redirect_to :action => 'history', :id => snapshot.root_project_id
+ redirect_to :action => 'history', :id => snapshot.root_project.id
end
def delete_version
@@ -329,7 +329,7 @@ class ProjectController < ApplicationController
access_denied unless is_admin?(parent_snapshot)
# We update all the related snapshots to have the same version as the next snapshot
- next_snapshot = Snapshot.find(:first, :conditions => ['created_at>? and project_id=?', parent_snapshot.created_at.to_i*1000, parent_snapshot.project_id], :order => 'created_at asc')
+ next_snapshot = Snapshot.find(:first, :conditions => ['created_at>? and component_uuid=?', parent_snapshot.created_at.to_i*1000, parent_snapshot.component_uuid], :order => 'created_at asc')
snapshots = find_project_snapshots(parent_snapshot.id)
snapshots.each do |snapshot|
snapshot.version = next_snapshot.version
@@ -348,7 +348,7 @@ class ProjectController < ApplicationController
end
flash[:notice] = message('project_history.version_removed', :params => h(old_version_name))
- redirect_to :action => 'history', :id => parent_snapshot.root_project_id
+ redirect_to :action => 'history', :id => parent_snapshot.root_project.id
end
def create_event
@@ -371,7 +371,7 @@ class ProjectController < ApplicationController
flash[:notice] = message('project_history.event_created', :params => h(params[:event_name]))
end
- redirect_to :action => 'history', :id => snapshot.project_id
+ redirect_to :action => 'history', :id => snapshot.project.id
end
def update_event
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
index b9d1b345cf7..6133eaead1e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/event.rb
@@ -70,7 +70,7 @@ class Event < ActiveRecord::Base
#
def self.already_exists(snapshot_id, event_name, event_category)
snapshot = Snapshot.find(snapshot_id.to_i)
- snapshots = Snapshot.find(:all, :conditions => ["status='P' AND project_id=?", snapshot.project_id], :include => 'events')
+ snapshots = Snapshot.find(:all, :conditions => ["status='P' AND component_uuid=?", snapshot.component_uuid], :include => 'events')
snapshots.each do |snapshot|
snapshot.events.each do |event|
return true if event.name==event_name && event.category==event_category
@@ -82,6 +82,6 @@ class Event < ActiveRecord::Base
def populate_snapshot
self.created_at=DateTime.now unless self.created_at
- self.snapshot=Snapshot.snapshot_by_date(resource_id, event_date) unless self.snapshot
+ self.snapshot=Snapshot.snapshot_by_date(snapshot.uuid, event_date) unless self.snapshot
end
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
index ad9713b3dbe..2a24b78060e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/measure_filter.rb
@@ -287,15 +287,11 @@ class MeasureFilter < ActiveRecord::Base
end
if require_links?
- project_ids = []
project_uuids = []
- project_id_by_uuid = {}
- rows_by_project_id = {}
+ rows_by_project_uuid = {}
snapshots.each do |snapshot|
- project_ids << snapshot.project_id
- project_uuids << snapshot.project.uuid
- project_id_by_uuid[snapshot.project.uuid] = snapshot.project_id
- rows_by_project_id[snapshot.project_id] = rows_by_snapshot_id[snapshot.id]
+ project_uuids << snapshot.component_uuid
+ rows_by_project_uuid[snapshot.component_uuid] = rows_by_snapshot_id[snapshot.id]
end
links = []
@@ -303,7 +299,7 @@ class MeasureFilter < ActiveRecord::Base
links.concat(ProjectLink.all(:conditions => {:component_uuid => safe_for_oracle_uuids}, :order => 'link_type'))
end
links.each do |link|
- rows_by_project_id[project_id_by_uuid[link.component_uuid]].add_link(link)
+ rows_by_project_uuid[link.component_uuid].add_link(link)
end
end
end
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
index 668c75ebd46..b3c0ec0dbc3 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/project.rb
@@ -21,8 +21,8 @@ class Project < ActiveRecord::Base
include Comparable
include Resourceable
- has_many :snapshots
- has_many :processed_snapshots, :class_name => 'Snapshot', :conditions => "status='#{Snapshot::STATUS_PROCESSED}' AND qualifier<>'LIB'", :order => 'created_at asc'
+ has_many :snapshots, :class_name => 'Snapshot', :foreign_key => 'component_uuid', :primary_key => 'uuid'
+ has_many :processed_snapshots, :class_name => 'Snapshot', :foreign_key => 'component_uuid', :primary_key => 'uuid', :conditions => "status='#{Snapshot::STATUS_PROCESSED}' AND qualifier<>'LIB'", :order => 'created_at asc'
has_many :events, :foreign_key => 'component_uuid', :primary_key => 'uuid', :order => 'event_date DESC'
has_many :project_links, :foreign_key => 'component_uuid', :primary_key => 'uuid', :dependent => :delete_all, :order => 'link_type'
has_many :user_roles, :foreign_key => 'resource_id'
@@ -108,7 +108,7 @@ class Project < ActiveRecord::Base
def last_snapshot
@last_snapshot ||=
begin
- snapshot=Snapshot.first(:conditions => {:islast => true, :project_id => id})
+ snapshot=Snapshot.first(:conditions => {:islast => true, :component_uuid => uuid})
if snapshot
snapshot.project=self
end
@@ -146,7 +146,7 @@ class Project < ActiveRecord::Base
' from project_measures m, snapshots s ' +
' where s.id=m.snapshot_id and ' +
" s.status='%s' and " +
- ' s.project_id=%s and m.metric_id=%s ', 'P', self.id, metric_id]) +
+ ' s.component_uuid=%s and m.metric_id=%s ', 'P', self.uuid, metric_id]) +
' and m.person_id IS NULL' +
' order by s.created_at'
create_chart_measures(Project.connection.select_all(sql), 'created_at', 'value')
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
index f929f119e6f..9d17cfe325e 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/snapshot.rb
@@ -21,8 +21,8 @@ class Snapshot < ActiveRecord::Base
include Resourceable
acts_as_tree :foreign_key => 'parent_snapshot_id'
- belongs_to :project
- belongs_to :root_project, :class_name => 'Project', :foreign_key => 'root_project_id'
+ belongs_to :project, :class_name => 'Project', :foreign_key => 'component_uuid',:primary_key => 'uuid'
+ belongs_to :root_project, :class_name => 'Project', :foreign_key => 'root_component_uuid',:primary_key => 'uuid'
belongs_to :parent_snapshot, :class_name => 'Snapshot', :foreign_key => 'parent_snapshot_id'
belongs_to :root_snapshot, :class_name => 'Snapshot', :foreign_key => 'root_snapshot_id'
@@ -75,7 +75,7 @@ class Snapshot < ActiveRecord::Base
# 2. project B, which depends on A 1.0, is analyzed -> new snapshot A 1.0 with qualifier LIB.
# 3. project A has 2 snapshots : the first one with qualifier=TRK has measures, the second one with qualifier LIB has no measures. Its version must not be used in time machine
# That's why the 2 following SQL requests check the qualifiers (and optionally scopes, just to be sure)
- snapshots=Snapshot.find(:all, :conditions => ["snapshots.project_id=? AND events.snapshot_id=snapshots.id AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier],
+ snapshots=Snapshot.find(:all, :conditions => ["snapshots.component_uuid=? AND events.snapshot_id=snapshots.id AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier],
:include => 'events',
:order => 'snapshots.created_at ASC')
@@ -84,7 +84,7 @@ class Snapshot < ActiveRecord::Base
snapshots=snapshots[-5, 5] if snapshots.size>=5
snapshots.insert(0, Snapshot.find(:first,
- :conditions => ["project_id=? AND status=? AND scope=? AND qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier],
+ :conditions => ["component_uuid=? AND status=? AND scope=? AND qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier],
:include => 'project', :order => 'snapshots.created_at ASC', :limit => 1))
snapshots.compact.uniq
@@ -97,7 +97,7 @@ class Snapshot < ActiveRecord::Base
end
# Get 1rst & latests snapshots of the period
- snapshot_conditions = ["snapshots.project_id=? AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.id, STATUS_PROCESSED, resource.scope, resource.qualifier]
+ snapshot_conditions = ["snapshots.component_uuid=? AND snapshots.status=? AND snapshots.scope=? AND snapshots.qualifier=?", resource.uuid, STATUS_PROCESSED, resource.scope, resource.qualifier]
if options[:from]
snapshot_conditions[0] += " AND snapshots.created_at>=?"
snapshot_conditions << options[:from].to_i * 1000
@@ -196,9 +196,9 @@ class Snapshot < ActiveRecord::Base
nil
end
- def self.snapshot_by_date(resource_id, date)
- if resource_id && date
- Snapshot.find(:first, :conditions => ['created_at>=? and created_at<? and project_id=?', date.beginning_of_day.to_i*1000, date.end_of_day.to_i*1000, resource_id], :order => 'created_at desc')
+ def self.snapshot_by_date(resource_uuid, date)
+ if resource_uuid && date
+ Snapshot.find(:first, :conditions => ['created_at>=? and created_at<? and component_uuid=?', date.beginning_of_day.to_i*1000, date.end_of_day.to_i*1000, resource_uuid], :order => 'created_at desc')
else
nil
end
@@ -209,7 +209,7 @@ class Snapshot < ActiveRecord::Base
end
def resource_id
- project_id
+ project.id
end
def periods?
@@ -217,7 +217,7 @@ class Snapshot < ActiveRecord::Base
end
def resource_id_for_authorization
- root_project_id || project_id
+ root_project.id
end
def path_name
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
index 0780981546e..f681c28b3d7 100644
--- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
+++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/trends_chart.rb
@@ -24,9 +24,9 @@ class TrendsChart
sql= "select s.created_at as created_at, m.value as value, m.metric_id as metric_id, s.id as sid " +
" from project_measures m LEFT OUTER JOIN snapshots s ON s.id=m.snapshot_id " +
" where s.status=? " +
- " and s.project_id=? " +
+ " and s.component_uuid=? " +
" and m.metric_id in (?) " +
- " and m.person_id is null"
+ " and m.person_id is null"
if (options[:from])
sql += ' and s.created_at>=?'
end
@@ -34,7 +34,7 @@ class TrendsChart
sql += ' and s.created_at<=?'
end
sql += ' order by s.created_at ASC'
- conditions=[sql, Snapshot::STATUS_PROCESSED, resource.id, metric_ids]
+ conditions=[sql, Snapshot::STATUS_PROCESSED, resource.uuid, metric_ids]
if (options[:from])
conditions<<options[:from].to_i*1000
end