]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4535 Replace rule id type from long to int in dtos
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 20 Dec 2013 12:32:06 +0000 (13:32 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 20 Dec 2013 12:32:16 +0000 (13:32 +0100)
18 files changed:
sonar-core/src/main/java/org/sonar/core/qualityprofile/db/ActiveRuleDto.java
sonar-core/src/main/java/org/sonar/core/rule/RuleDao.java
sonar-core/src/main/java/org/sonar/core/rule/RuleDto.java
sonar-core/src/main/java/org/sonar/core/rule/RuleMapper.java
sonar-core/src/main/java/org/sonar/core/rule/RuleParamDto.java
sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml
sonar-core/src/test/java/org/sonar/core/qualityprofile/db/ActiveRuleDaoTest.java
sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java
sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileOperations.java
sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRule.java
sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfileRuleParam.java
sonar-server/src/main/java/org/sonar/server/qualityprofile/QProfiles.java
sonar-server/src/main/java/org/sonar/server/rule/RuleRegistry.java
sonar-server/src/main/webapp/WEB-INF/app/controllers/new_rules_configuration_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/controllers/rules_configuration_controller.rb
sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileOperationsTest.java
sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfilesTest.java
sonar-server/src/test/java/org/sonar/server/rule/RuleRegistryTest.java

index 3e9fadfaa40e8fc2ca73d2fbbd8f3d1c12b27d89..07137e58fd377592fb27538d0569a53368e898aa 100644 (file)
@@ -26,7 +26,7 @@ public class ActiveRuleDto {
 
   private Integer id;
   private Integer profileId;
-  private Long ruleId;
+  private Integer ruleId;
   private Integer severity;
   private String inheritance;
   private Date noteCreatedAt;
@@ -52,11 +52,11 @@ public class ActiveRuleDto {
     return this;
   }
 
-  public Long getRulId() {
+  public Integer getRulId() {
     return ruleId;
   }
 
-  public ActiveRuleDto setRuleId(Long ruleId) {
+  public ActiveRuleDto setRuleId(Integer ruleId) {
     this.ruleId = ruleId;
     return this;
   }
index 9776c80ce5409eca6b7be6371a5829dbb597b1dd..2446eb97f54fdfcc009fae41381dfb7fbf794f1a 100644 (file)
@@ -55,7 +55,7 @@ public class RuleDao implements BatchComponent, ServerComponent {
     }
   }
 
-  public RuleDto selectById(Long id) {
+  public RuleDto selectById(Integer id) {
     SqlSession session = mybatis.openSession();
     try {
       return getMapper(session).selectById(id);
@@ -105,7 +105,7 @@ public class RuleDao implements BatchComponent, ServerComponent {
     }
   }
 
-  public List<RuleParamDto> selectParameters(Long id) {
+  public List<RuleParamDto> selectParameters(Integer id) {
     SqlSession session = mybatis.openSession();
     try {
       return selectParameters(id, session);
@@ -114,12 +114,12 @@ public class RuleDao implements BatchComponent, ServerComponent {
     }
   }
 
-  public List<RuleParamDto> selectParameters(Long ruleId, SqlSession session) {
+  public List<RuleParamDto> selectParameters(Integer ruleId, SqlSession session) {
     return getMapper(session).selectParamsForRule(ruleId);
   }
 
   @CheckForNull
-  public RuleParamDto selectParamByRuleAndKey(Long ruleId, String key, SqlSession session) {
+  public RuleParamDto selectParamByRuleAndKey(Integer ruleId, String key, SqlSession session) {
     return getMapper(session).selectParamByRuleAndKey(ruleId, key);
   }
 
index de0b9ce63a7731f599329b0d63a00dd52db085b4..62bd1b9b8802bb98bd5f7c346c092252e10d1761 100644 (file)
@@ -25,7 +25,7 @@ import org.sonar.check.Priority;
 import java.util.Date;
 
 public final class RuleDto {
-  private Long id;
+  private Integer id;
   private String repositoryKey;
   private String ruleKey;
   private String description;
@@ -35,7 +35,7 @@ public final class RuleDto {
   private Priority priority;
   private Cardinality cardinality;
   private String language;
-  private Long parentId;
+  private Integer parentId;
   private Date createdAt;
   private Date updatedAt;
   private String noteData;
@@ -43,11 +43,11 @@ public final class RuleDto {
   private Date noteCreatedAt;
   private Date noteUpdatedAt;
 
-  public Long getId() {
+  public Integer getId() {
     return id;
   }
 
-  public void setId(Long id) {
+  public void setId(Integer id) {
     this.id = id;
   }
 
@@ -131,11 +131,11 @@ public final class RuleDto {
     this.language = language;
   }
 
-  public Long getParentId() {
+  public Integer getParentId() {
     return parentId;
   }
 
-  public void setParentId(Long parentId) {
+  public void setParentId(Integer parentId) {
     this.parentId = parentId;
   }
 
index c0ab7ded18c09a9ec5da2af69a3f28e54cf534e8..23c93e672c82eaa31547e593817908495e646c76 100644 (file)
@@ -28,7 +28,7 @@ public interface RuleMapper {
 
   List<RuleDto> selectNonManual();
 
-  RuleDto selectById(Long id);
+  RuleDto selectById(Integer id);
 
   void update(RuleDto rule);
 
@@ -36,7 +36,7 @@ public interface RuleMapper {
 
   List<RuleParamDto> selectAllParams();
 
-  List<RuleParamDto> selectParamsForRule(Long id);
+  List<RuleParamDto> selectParamsForRule(Integer id);
 
-  RuleParamDto selectParamByRuleAndKey(@Param("ruleId") Long ruleId, @Param("key") String key);
+  RuleParamDto selectParamByRuleAndKey(@Param("ruleId") Integer ruleId, @Param("key") String key);
 }
index 7a4f999f74360124c912ddf6454a52d78502b9e7..5be8238f246933fa8c5a19c43dc3c35ac5e3bb6e 100644 (file)
@@ -23,7 +23,7 @@ package org.sonar.core.rule;
 public class RuleParamDto {
 
   private int id;
-  private Long ruleId;
+  private Integer ruleId;
   private String name;
   private String type;
   private String defaultValue;
@@ -38,11 +38,11 @@ public class RuleParamDto {
     return this;
   }
 
-  public Long getRuleId() {
+  public Integer getRuleId() {
     return ruleId;
   }
 
-  public RuleParamDto setRuleId(Long ruleId) {
+  public RuleParamDto setRuleId(Integer ruleId) {
     this.ruleId = ruleId;
     return this;
   }
index 620fb27e21f75b0ea55d8e95fcc6dc8137934b83..ef858d7559c5860c4bd3d3d509092f74524b89b8 100644 (file)
@@ -14,7 +14,7 @@
     select <include refid="selectColumns"/> from rules
   </select>
 
-  <select id="selectById" parameterType="long" resultType="Rule">
+  <select id="selectById" parameterType="Integer" resultType="Rule">
     select <include refid="selectColumns"/> from rules WHERE id=#{id}
   </select>
 
@@ -50,7 +50,7 @@
       #{priorityOrdinal}, #{cardinality}, #{language}, #{parentId}, #{createdAt}, #{updatedAt})
   </insert>
 
-  <delete id="deleteParams" parameterType="long" >
+  <delete id="deleteParams" parameterType="Integer" >
     delete from active_rule_parameters where rules_parameter_id=#{id}
   </delete>
 
index 3e3f692b348fba6ea969090a63b87114e4f1c1a3..e9fb37a87d263715b85efca246d5e3100f248c82 100644 (file)
@@ -98,7 +98,7 @@ public class ActiveRuleDaoTest extends AbstractDaoTestCase {
 
     ActiveRuleDto dto = new ActiveRuleDto()
       .setProfileId(1)
-      .setRuleId(10L)
+      .setRuleId(10)
       .setSeverity(2)
       .setInheritance("INHERITED");
 
@@ -114,7 +114,7 @@ public class ActiveRuleDaoTest extends AbstractDaoTestCase {
     ActiveRuleDto dto = new ActiveRuleDto()
       .setId(1)
       .setProfileId(1)
-      .setRuleId(10L)
+      .setRuleId(10)
       .setSeverity(4)
       .setInheritance(null)
       .setNoteData("text");
index b9bfbf1a5dc90f9cd5dce707f1b1112c74c478f2..980cd8fac40c504f3db641fb82320f624f8d3e96 100644 (file)
@@ -48,7 +48,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
 
     assertThat(ruleDtos.size()).isEqualTo(1);
     RuleDto ruleDto = ruleDtos.get(0);
-    assertThat(ruleDto.getId()).isEqualTo(1L);
+    assertThat(ruleDto.getId()).isEqualTo(1);
     assertThat(ruleDto.getName()).isEqualTo("Avoid Null");
     assertThat(ruleDto.getDescription()).isEqualTo("Should avoid NULL");
     assertThat(ruleDto.getStatus()).isEqualTo(Rule.STATUS_READY);
@@ -59,9 +59,9 @@ public class RuleDaoTest extends AbstractDaoTestCase {
   @Test
   public void testSelectById() throws Exception {
     setupData("selectById");
-    RuleDto ruleDto = dao.selectById(2L);
+    RuleDto ruleDto = dao.selectById(2);
 
-    assertThat(ruleDto.getId()).isEqualTo(2L);
+    assertThat(ruleDto.getId()).isEqualTo(2);
     assertThat(ruleDto.getName()).isEqualTo("Avoid Null");
     assertThat(ruleDto.getDescription()).isEqualTo("Should avoid NULL");
     assertThat(ruleDto.getStatus()).isEqualTo(Rule.STATUS_READY);
@@ -75,7 +75,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
 
     assertThat(ruleDtos.size()).isEqualTo(1);
     RuleDto ruleDto = ruleDtos.get(0);
-    assertThat(ruleDto.getId()).isEqualTo(1L);
+    assertThat(ruleDto.getId()).isEqualTo(1);
     assertThat(ruleDto.getName()).isEqualTo("Avoid Null");
     assertThat(ruleDto.getDescription()).isEqualTo("Should avoid NULL");
     assertThat(ruleDto.getStatus()).isEqualTo(Rule.STATUS_READY);
@@ -86,7 +86,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
   public void testUpdate() {
     setupData("update");
     RuleDto ruleToUpdate = new RuleDto();
-    final long ruleId = 1L;
+    final int ruleId = 1;
     String newRuleKey = "NewRuleKey";
     String newRepositoryKey = "plugin";
     String newName = "new name";
@@ -97,7 +97,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
     Cardinality newCardinality = Cardinality.MULTIPLE;
     String newLanguage = "dart";
     Date updatedAt = new Date();
-    Long newParentId = 3L;
+    Integer newParentId = 3;
 
     ruleToUpdate.setId(ruleId);
     ruleToUpdate.setRuleKey(newRuleKey);
@@ -131,7 +131,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
     Cardinality newCardinality = Cardinality.MULTIPLE;
     String newLanguage = "dart";
     Date updatedAt = new Date();
-    Long newParentId = 3L;
+    Integer newParentId = 3;
 
     ruleToInsert.setRuleKey(newRuleKey);
     ruleToInsert.setRepositoryKey(newRepositoryKey);
@@ -150,7 +150,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
     assertThat(ruleDtos.size()).isEqualTo(1);
     RuleDto insertedRule = ruleDtos.get(0);
     // First inserted rule, auto generated ID should be 1
-    assertThat(insertedRule.getId()).isEqualTo(1L);
+    assertThat(insertedRule.getId()).isEqualTo(1);
     assertThat(insertedRule.getRuleKey()).isEqualTo(newRuleKey);
     assertThat(insertedRule.getRepositoryKey()).isEqualTo(newRepositoryKey);
     assertThat(insertedRule.getName()).isEqualTo(newName);
@@ -220,8 +220,8 @@ public class RuleDaoTest extends AbstractDaoTestCase {
 
     List<RuleDto> ruleDtos = dao.selectAll();
     assertThat(ruleDtos.size()).isEqualTo(2);
-    assertThat(ruleDtos.get(0).getId()).isEqualTo(1L);
-    assertThat(ruleDtos.get(1).getId()).isEqualTo(2L);
+    assertThat(ruleDtos.get(0).getId()).isEqualTo(1);
+    assertThat(ruleDtos.get(1).getId()).isEqualTo(2);
   }
 
   @Test
@@ -241,7 +241,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
   @Test
   public void testSelectParamsForRule() throws Exception {
     setupData("selectParamsForRule");
-    long ruleId = 1L;
+    int ruleId = 1;
     List<RuleParamDto> ruleDtos = dao.selectParameters(ruleId);
 
     assertThat(ruleDtos.size()).isEqualTo(1);
index 5ea986bf5bc65daea64312163be28e0a95301713..7660f581e2a3963a0179aa1f16935a4475c50e46 100644 (file)
@@ -149,11 +149,11 @@ public class QProfileOperations implements ServerComponent {
   private ActiveRuleDto newActiveRule(QualityProfileDto qualityProfile, Rule rule, String severity, UserSession userSession, SqlSession session) {
     ActiveRuleDto activeRuleDto = new ActiveRuleDto()
       .setProfileId(qualityProfile.getId())
-      .setRuleId(rule.getId().longValue())
+      .setRuleId(rule.getId())
       .setSeverity(Severity.ordinal(severity));
     activeRuleDao.insert(activeRuleDto, session);
 
-    List<RuleParamDto> ruleParams = ruleDao.selectParameters(rule.getId().longValue(), session);
+    List<RuleParamDto> ruleParams = ruleDao.selectParameters(rule.getId(), session);
     List<ActiveRuleParamDto> activeRuleParams = Lists.newArrayList();
     for (RuleParamDto ruleParam : ruleParams) {
       ActiveRuleParamDto activeRuleParam = new ActiveRuleParamDto()
@@ -312,7 +312,7 @@ public class QProfileOperations implements ServerComponent {
   private ActiveRuleDto toActiveRuleDto(ActiveRule activeRule, QualityProfileDto dto) {
     return new ActiveRuleDto()
       .setProfileId(dto.getId())
-      .setRuleId(activeRule.getRule().getId().longValue())
+      .setRuleId(activeRule.getRule().getId())
       .setSeverity(toSeverityLevel(activeRule.getSeverity()));
   }
 
index 137b5e376d50d05d456f4ee442246a286bc9df7c..7eaa5b4334efb3ffd6dc93a5107a3b5df17f9a69 100644 (file)
@@ -214,4 +214,6 @@ public class QProfileRule {
   public QProfileRuleNote activeRuleNote() {
     return activeRuleNote;
   }
+
+
 }
index 6027f12bf6d8ab60ab3dd14590cd1c9d945e2e2b..ff82db878c179cd5bc9b1208fd57cc8e15aa130e 100644 (file)
 package org.sonar.server.qualityprofile;
 
 public class QProfileRuleParam {
+
   private final String key;
   private final String value;
   private final String description;
   private final String defaultValue;
   private final String type;
+
   public QProfileRuleParam(String key, String value, String description, String defaultValue, String type) {
-    super();
     this.key = key;
     this.value = value;
     this.description = description;
     this.defaultValue = defaultValue;
     this.type = type;
   }
+
   public String key() {
     return key;
   }
+
   public String value() {
     return value;
   }
+
   public String description() {
     return description;
   }
+
   public String defaultValue() {
     return defaultValue;
   }
+
   public String type() {
     return type;
   }
index ce79c5d5393216918a482c09856048580d19ff97..37cc48b783e2734d4294c3fd0a535e9df9381845 100644 (file)
@@ -83,7 +83,7 @@ public class QProfiles implements ServerComponent {
   // ACTIVE RULES
   // deactivate a rule (only E/S indexing)
   // update severity (only E/S indexing)
-  // update parameter on a active rule
+  // update parameter on a active rule (only E/S indexing)
   // add note on an active rule
   // delete note on an active rule
   // edit note on an active rule
index 2158a81d7af17c00577f8347bb5cc782b4cf2529..e4e5a79ca92f11c9383052c6096eb83961fda02a 100644 (file)
@@ -85,7 +85,7 @@ public class RuleRegistry {
     List<RuleParamDto> flatParams = ruleDao.selectParameters();
     profiler.stop();
 
-    Multimap<Long, RuleParamDto> paramsByRule = ArrayListMultimap.create();
+    Multimap<Integer, RuleParamDto> paramsByRule = ArrayListMultimap.create();
     for (RuleParamDto param : flatParams) {
       paramsByRule.put(param.getRuleId(), param);
     }
@@ -156,7 +156,7 @@ public class RuleRegistry {
    * @param ruleId
    */
   public void saveOrUpdate(int ruleId) {
-    RuleDto rule = ruleDao.selectById(Long.valueOf(ruleId));
+    RuleDto rule = ruleDao.selectById(ruleId);
     Collection<RuleParamDto> params = ruleDao.selectParameters(rule.getId());
     try {
       searchIndex.putSynchronous(INDEX_RULES, TYPE_RULE, Long.toString(rule.getId()), ruleDocument(rule, params));
@@ -173,7 +173,7 @@ public class RuleRegistry {
     }
   }
 
-  private void bulkIndex(List<RuleDto> rules, Multimap<Long, RuleParamDto> paramsByRule) throws IOException {
+  private void bulkIndex(List<RuleDto> rules, Multimap<Integer, RuleParamDto> paramsByRule) throws IOException {
     String[] ids = new String[rules.size()];
     BytesStream[] docs = new BytesStream[rules.size()];
     int index = 0;
index 20f48a5b4f77d71299b8f602c407db80465f67bf..b2a271342cbf6f2b356a211a741b5733b7d67787 100644 (file)
@@ -306,35 +306,15 @@ class NewRulesConfigurationController < ApplicationController
   def update_param
     verify_post_request
 
-
     access_denied unless has_role?(:profileadmin)
-    require_parameters :profile_id, :param_id, :active_rule_id
-    profile = Profile.find(params[:profile_id].to_i)
-    rule_param = RulesParameter.find(params[:param_id].to_i)
-    active_rule = ActiveRule.find(params[:active_rule_id].to_i)
-    # As the active param can be null, we should not raise a RecordNotFound exception when it's not found (as it would be done when using find(:id) function)
-    active_param = ActiveRuleParameter.find_by_id(params[:id].to_i) if params[:id].to_i > 0
+    require_parameters :param_id, :active_rule_id, :profile_id
 
     call_backend do
-      Internal.quality_profiles.updateActiveRuleParam(params[:active_rule_id].to_i, rule_param.name, params[:value])
+      Internal.quality_profiles.updateActiveRuleParam(params[:active_rule_id].to_i, params[:param_id], params[:value])
     end
 
-    #value = params[:value]
-    #if value != ""
-    #  active_param = ActiveRuleParameter.new(:rules_parameter => rule_param, :active_rule => active_rule) if active_param.nil?
-    #  old_value = active_param.value
-    #  active_param.value = value
-    #  if active_param.save! && active_param.valid?
-    #    active_param.reload
-    #    java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, value, current_user.name)
-    #  end
-    #elsif !active_param.nil?
-    #  old_value = active_param.value
-    #  active_param.destroy
-    #  java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, nil, current_user.name)
-    #end
-
-    # let's reload the active rule
+    # TODO use a QProfileRule instead of rails objects
+    profile = Profile.find(params[:profile_id].to_i)
     active_rule = ActiveRule.find(params[:active_rule_id].to_i)
     render :partial => 'rule', :locals => {:profile => profile, :rule => active_rule.rule, :active_rule => active_rule}
   end
index 21e7aedacc17d025062b3df375902ae27f650305..395d821a532f758e665bd1b5828c1e1921f5992e 100644 (file)
@@ -104,29 +104,48 @@ class RulesConfigurationController < ApplicationController
   #
   def activate_rule
     verify_post_request
+    access_denied unless has_role?(:profileadmin)
     require_parameters :id, :rule_id
+    profile = Profile.find(params[:id].to_i)
+    if profile
+      rule=Rule.first(:conditions => ["id = ? and status <> ?", params[:rule_id].to_i, Rule::STATUS_REMOVED])
+      priority=params[:level]
 
-    result = nil
-    call_backend do
-      severity = params[:level]
-      if severity.blank?
+      active_rule=profile.active_by_rule_id(rule.id)
+      if priority.blank?
         # deactivate the rule
-        result = Internal.quality_profiles.deactivateRule(params[:id].to_i, params[:rule_id].to_i)
+        if active_rule
+          java_facade.ruleDeactivated(profile.id, active_rule.id, current_user.name)
+          active_rule.destroy
+          active_rule=nil
+        end
       else
         # activate the rule
-        result = Internal.quality_profiles.activateRule(params[:id].to_i, params[:rule_id].to_i, severity)
+        activated = false
+        if active_rule.nil?
+          active_rule = ActiveRule.new(:profile_id => profile.id, :rule => rule)
+          rule.parameters.select { |p| p.default_value.present? }.each do |p|
+            active_rule.active_rule_parameters.build(:rules_parameter => p, :value => p.default_value)
+          end
+          activated = true
+        end
+        old_severity = active_rule.failure_level
+        active_rule.failure_level=Sonar::RulePriority.id(priority)
+        active_rule.save!
+        if activated
+          java_facade.ruleActivated(profile.id, active_rule.id, current_user.name)
+        else
+          java_facade.ruleSeverityChanged(profile.id, active_rule.id, old_severity, active_rule.failure_level, current_user.name)
+        end
+      end
+      if active_rule
+        active_rule.reload
       end
-    end
-
-    # Load rails objects needed to the display. Remove this when ui use java objects (existing in the result object) instead of rails objects
-    profile = Profile.find(params[:id].to_i)
-    rule = Rule.first(:conditions => ["id = ? and status <> ?", params[:rule_id].to_i, Rule::STATUS_REMOVED]) if profile
-    activate_rule_id = result.rule.activeRuleId().to_i if result
-    active_rule = ActiveRule.first(:conditions => ['id = ?', activate_rule_id]) if activate_rule_id
 
-    render :update do |page|
-      page.replace_html("rule_#{rule.id}", :partial => 'rule', :object => rule, :locals => {:profile => profile, :rule => rule, :active_rule => active_rule})
-      page.assign('localModifications', true)
+      render :update do |page|
+        page.replace_html("rule_#{rule.id}", :partial => 'rule', :object => rule, :locals => {:profile => profile, :rule => rule, :active_rule => active_rule})
+        page.assign('localModifications', true)
+      end
     end
   end
 
@@ -310,25 +329,20 @@ class RulesConfigurationController < ApplicationController
     # As the active param can be null, we should not raise a RecordNotFound exception when it's not found (as it would be done when using find(:id) function)
     active_param = ActiveRuleParameter.find_by_id(params[:id].to_i) if params[:id].to_i > 0
 
-    call_backend do
-      Internal.quality_profiles.updateActiveRuleParam(params[:active_rule_id].to_i, rule_param.name, params[:value])
+    value = params[:value]
+    if value != ""
+      active_param = ActiveRuleParameter.new(:rules_parameter => rule_param, :active_rule => active_rule) if active_param.nil?
+      old_value = active_param.value
+      active_param.value = value
+      if active_param.save! && active_param.valid?
+        active_param.reload
+        java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, value, current_user.name)
+      end
+    elsif !active_param.nil?
+      old_value = active_param.value
+      active_param.destroy
+      java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, nil, current_user.name)
     end
-
-
-    #value = params[:value]
-    #if value != ""
-    #  active_param = ActiveRuleParameter.new(:rules_parameter => rule_param, :active_rule => active_rule) if active_param.nil?
-    #  old_value = active_param.value
-    #  active_param.value = value
-    #  if active_param.save! && active_param.valid?
-    #    active_param.reload
-    #    java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, value, current_user.name)
-    #  end
-    #elsif !active_param.nil?
-    #  old_value = active_param.value
-    #  active_param.destroy
-    #  java_facade.ruleParamChanged(profile.id, active_rule.id, rule_param.name, old_value, nil, current_user.name)
-    #end
     # let's reload the active rule
     active_rule = ActiveRule.find(params[:active_rule_id].to_i)
     render :partial => 'rule', :locals => {:profile => profile, :rule => active_rule.rule, :active_rule => active_rule}
index fc61a5562f52dbd5358a854657372f928cdf4eff..311676afffcb39fe2e54446fe2b9cefa846ccabf 100644 (file)
@@ -246,7 +246,7 @@ public class QProfileOperationsTest {
     QualityProfileDto qualityProfile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
     Rule rule = Rule.create().setRepositoryKey("squid").setKey("AvoidCycle");
     rule.setId(10);
-    when(ruleDao.selectParameters(eq(10L), eq(session))).thenReturn(newArrayList(new RuleParamDto().setId(20).setName("max").setDefaultValue("10")));
+    when(ruleDao.selectParameters(eq(10), eq(session))).thenReturn(newArrayList(new RuleParamDto().setId(20).setName("max").setDefaultValue("10")));
     when(profileRules.getFromActiveRuleId(anyInt())).thenReturn(mock(QProfileRule.class));
 
     RuleActivationResult result = operations.activateRule(qualityProfile, rule, Severity.CRITICAL, MockUserSession.create().setName("nicolas").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN));
@@ -275,7 +275,7 @@ public class QProfileOperationsTest {
     QualityProfileDto qualityProfile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
     Rule rule = Rule.create().setRepositoryKey("squid").setKey("AvoidCycle");
     rule.setId(10);
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
     when(activeRuleDao.selectByProfileAndRule(1, 10)).thenReturn(activeRule);
     when(profileRules.getFromActiveRuleId(anyInt())).thenReturn(mock(QProfileRule.class));
 
@@ -295,7 +295,7 @@ public class QProfileOperationsTest {
     QualityProfileDto qualityProfile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
     Rule rule = Rule.create().setRepositoryKey("squid").setKey("AvoidCycle");
     rule.setId(10);
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
     when(activeRuleDao.selectByProfileAndRule(1, 10)).thenReturn(activeRule);
     when(profileRules.getFromRuleId(anyInt())).thenReturn(mock(QProfileRule.class));
 
@@ -330,7 +330,7 @@ public class QProfileOperationsTest {
 
   @Test
   public void update_active_rule_param() throws Exception {
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
     ActiveRuleParamDto activeRuleParam = new ActiveRuleParamDto().setId(100).setActiveRuleId(5).setKey("max").setValue("20");
 
     operations.updateActiveRuleParam(activeRule, activeRuleParam, "30", MockUserSession.create().setName("nicolas").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN));
@@ -345,7 +345,7 @@ public class QProfileOperationsTest {
 
   @Test
   public void remove_active_rule_param() throws Exception {
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
     ActiveRuleParamDto activeRuleParam = new ActiveRuleParamDto().setId(100).setActiveRuleId(5).setKey("max").setValue("20");
 
     operations.deleteActiveRuleParam(activeRule, activeRuleParam, MockUserSession.create().setName("nicolas").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN));
@@ -356,11 +356,9 @@ public class QProfileOperationsTest {
 
   @Test
   public void create_active_rule_param() throws Exception {
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
-//    when(activeRuleDao.selectParamByActiveRuleAndKey(5, "max", session)).thenReturn(null);
-
-    RuleParamDto ruleParam = new RuleParamDto().setRuleId(10L).setName("max").setDefaultValue("20");
-    when(ruleDao.selectParamByRuleAndKey(10L, "max", session)).thenReturn(ruleParam);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
+    RuleParamDto ruleParam = new RuleParamDto().setRuleId(10).setName("max").setDefaultValue("20");
+    when(ruleDao.selectParamByRuleAndKey(10, "max", session)).thenReturn(ruleParam);
 
     operations.createActiveRuleParam(activeRule, "max", "30", MockUserSession.create().setName("nicolas").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN));
 
@@ -375,9 +373,8 @@ public class QProfileOperationsTest {
 
   @Test
   public void fail_to_create_active_rule_if_no_rule_param() throws Exception {
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10L).setSeverity(1);
-//    when(activeRuleDao.selectParamByActiveRuleAndKey(5, "max", session)).thenReturn(null);
-    when(ruleDao.selectParamByRuleAndKey(10L, "max", session)).thenReturn(null);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(5).setProfileId(1).setRuleId(10).setSeverity(1);
+    when(ruleDao.selectParamByRuleAndKey(10, "max", session)).thenReturn(null);
     try {
       operations.createActiveRuleParam(activeRule, "max", "30", MockUserSession.create().setName("nicolas").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN));
       fail();
index 8b7e3f26fbec150198ea74f15c7d3f12cd392ab7..6cbf76f2ec042ab10d449fefb8bb0c9f886981de 100644 (file)
@@ -298,9 +298,9 @@ public class QProfilesTest {
   public void fail_to_activate_rule_if_rule_not_found() throws Exception {
     QualityProfileDto qualityProfile = new QualityProfileDto().setId(1).setName("My profile").setLanguage("java");
     when(qualityProfileDao.selectById(1)).thenReturn(qualityProfile);
-    Rule rule = Rule.create().setRepositoryKey("squid").setKey("AvoidCycle");
-    rule.setId(10);
-    when(ruleFinder.findById(10)).thenReturn(null);
+    QProfileRule rule = mock(QProfileRule.class);
+    when(rule.id()).thenReturn(10);
+    when(rules.getFromRuleId(10)).thenReturn(null);
 
     try {
       qProfiles.activateRule(1, 10, Severity.BLOCKER);
index d75f6322cff52958e1a8da45f3a6dc0ae1eaba02..f716c7af9857290676fd4aea43a1b4b4324fa694 100644 (file)
@@ -165,14 +165,14 @@ public class RuleRegistryTest {
 
   @Test
   public void should_index_all_rules() {
-    long ruleId1 = 3L;
+    int ruleId1 = 3;
     RuleDto rule1 = new RuleDto();
     rule1.setRepositoryKey("repo");
     rule1.setRuleKey("key1");
     rule1.setId(ruleId1);
     rule1.setNoteData("noteData");
     rule1.setNoteUserLogin("userLogin");
-    long ruleId2 = 4L;
+    int ruleId2 = 4;
     RuleDto rule2 = new RuleDto();
     rule2.setRepositoryKey("repo");
     rule2.setRuleKey("key2");
@@ -197,8 +197,8 @@ public class RuleRegistryTest {
     rule.setRepositoryKey("repo");
     rule.setRuleKey("key");
     int id = 3;
-    rule.setId((long) id);
-    when(ruleDao.selectById((long) id)).thenReturn(rule);
+    rule.setId(id);
+    when(ruleDao.selectById(id)).thenReturn(rule);
     registry.saveOrUpdate(id);
     assertThat(registry.findIds(ImmutableMap.of("repositoryKey", "repo"))).hasSize(1);
     rule.setName("polop");
@@ -208,12 +208,12 @@ public class RuleRegistryTest {
 
   @Test
   public void should_update_existing_rules_and_forget_deleted_rules() {
-    long ruleId1 = 1L;
+    int ruleId1 = 1;
     RuleDto rule1 = new RuleDto();
     rule1.setRepositoryKey("xoo");
     rule1.setRuleKey("key1");
     rule1.setId(ruleId1);
-    long ruleId2 = 2L;
+    int ruleId2 = 2;
     RuleDto rule2 = new RuleDto();
     rule2.setRepositoryKey("xoo");
     rule2.setRuleKey("key2");
@@ -269,7 +269,7 @@ public class RuleRegistryTest {
 
   @Test
   public void bulk_index_active_rules() throws IOException {
-    List<ActiveRuleDto> activeRules = newArrayList(new ActiveRuleDto().setId(1).setProfileId(10).setRuleId(1L).setSeverity(2));
+    List<ActiveRuleDto> activeRules = newArrayList(new ActiveRuleDto().setId(1).setProfileId(10).setRuleId(1).setSeverity(2));
     Multimap<Integer, ActiveRuleParamDto> paramsByActiveRule = ArrayListMultimap.create();
     paramsByActiveRule.putAll(1, newArrayList(new ActiveRuleParamDto().setId(1).setActiveRuleId(1).setRulesParameterId(1).setKey("key").setValue("RuleWithParameters")));
 
@@ -291,7 +291,7 @@ public class RuleRegistryTest {
 
   @Test
   public void save_active_rule() throws IOException {
-    ActiveRuleDto activeRule = new ActiveRuleDto().setId(1).setProfileId(10).setRuleId(1L).setSeverity(2);
+    ActiveRuleDto activeRule = new ActiveRuleDto().setId(1).setProfileId(10).setRuleId(1).setSeverity(2);
     ArrayList<ActiveRuleParamDto> params = newArrayList(new ActiveRuleParamDto().setId(1).setActiveRuleId(1).setRulesParameterId(1).setKey("key").setValue("RuleWithParameters"));
 
     registry.save(activeRule, params);