]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaws
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 1 Jul 2014 15:37:11 +0000 (17:37 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Tue, 1 Jul 2014 15:37:11 +0000 (17:37 +0200)
sonar-server/src/main/java/org/sonar/server/issue/ws/IssueSearchAction.java
sonar-server/src/main/java/org/sonar/server/measure/persistence/MeasureDao.java
sonar-server/src/main/java/org/sonar/server/rule/RuleUpdater.java
sonar-server/src/main/java/org/sonar/server/rule/db/RuleDao.java

index 8ee8705b2759ffb29bb0717f17b58451991a6de0..00435cb28d9e4263cdeaf39c54ef59a6729e3c90 100644 (file)
@@ -191,7 +191,7 @@ public class IssueSearchAction implements RequestHandler {
 
   private void checkFormatParameter(Request request) {
     String format = request.param("format");
-    if (!Strings.isNullOrEmpty(format) && !format.equals("json")){
+    if (!Strings.isNullOrEmpty(format) && !"json".equals(format)){
       throw new BadRequestException("Only json format is supported.");
     }
   }
index 2f30fe0fbba2fd6d4d00b1e45bfa6f13e0b67c20..ef7663576ef593f52bdab7e2d6df84db8d69229b 100644 (file)
@@ -71,21 +71,25 @@ public class MeasureDao extends BaseDao<MeasureMapper, MeasureDto, MeasureKey> i
 
   @Override
   protected MeasureDto doInsert(DbSession session, MeasureDto item) {
-    throw new IllegalStateException("Not implemented yet");
+   throw notImplemented();
   }
 
   @Override
   protected MeasureDto doUpdate(DbSession session, MeasureDto item) {
-    throw new IllegalStateException("Not implemented yet");
+    throw notImplemented();
   }
 
   @Override
   protected void doDeleteByKey(DbSession session, MeasureKey key) {
-    throw new IllegalStateException("Not implemented yet");
+    throw notImplemented();
   }
 
   @Override
   public void synchronizeAfter(DbSession session, Date date) {
+    throw notImplemented();
+  }
+
+  private static RuntimeException notImplemented(){
     throw new IllegalStateException("Not implemented yet");
   }
 }
index b74ce3b2725df0a95dbf8c859d730ab4d29ebd28..93fe4fbe9a32f82235777d71b5902c7db7011745 100644 (file)
@@ -254,11 +254,10 @@ public class RuleUpdater implements ServerComponent {
       .isEquals();
   }
 
-
   private void updateParameters(DbSession dbSession, RuleUpdate update, Context context) {
     if (update.isChangeParameters() && update.isCustomRule()) {
       RuleDto customRule = context.rule;
-      RuleDto templateRule = dbClient.ruleDao().getById(dbSession, customRule.getTemplateId());
+      RuleDto templateRule = dbClient.ruleDao().getTemplate(customRule, dbSession);
       List<RuleParamDto> templateRuleParams = dbClient.ruleDao().findRuleParamsByRuleKey(dbSession, templateRule.getKey());
       List<String> paramKeys = new ArrayList<String>();
 
@@ -273,57 +272,67 @@ public class RuleUpdater implements ServerComponent {
       }
 
       // Browse custom rule parameters to update or delete them
-      for (RuleParamDto ruleParamDto : dbClient.ruleDao().findRuleParamsByRuleKey(dbSession, update.getRuleKey())) {
-        String key = ruleParamDto.getName();
-        String value = update.parameter(key);
-        if (!Strings.isNullOrEmpty(value)) {
-          // Update rule param
-          ruleParamDto.setDefaultValue(value);
-          dbClient.ruleDao().updateRuleParam(dbSession, customRule, ruleParamDto);
+      deleteOrUpdateParameters(dbSession, update, customRule, paramKeys, activeRules, activeRuleParams);
 
-          // Update linked active rule params
-          for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
-            for (ActiveRuleParamDto activeRuleParamDto : activeRuleParams.get(activeRuleDto)) {
-              if (activeRuleParamDto.getKey().equals(key)) {
-                dbClient.activeRuleDao().updateParam(dbSession, activeRuleDto, activeRuleParamDto.setValue(value));
-              }
+      // Browse template rule parameters to create new parameters
+      createNewParameters(dbSession, update, customRule, templateRuleParams, paramKeys, activeRules);
+    }
+  }
+
+  private void deleteOrUpdateParameters(DbSession dbSession, RuleUpdate update, RuleDto customRule, List<String> paramKeys,
+                                   Multimap<RuleDto, ActiveRuleDto> activeRules, Multimap<ActiveRuleDto, ActiveRuleParamDto> activeRuleParams){
+    for (RuleParamDto ruleParamDto : dbClient.ruleDao().findRuleParamsByRuleKey(dbSession, update.getRuleKey())) {
+      String key = ruleParamDto.getName();
+      String value = update.parameter(key);
+      if (!Strings.isNullOrEmpty(value)) {
+        // Update rule param
+        ruleParamDto.setDefaultValue(value);
+        dbClient.ruleDao().updateRuleParam(dbSession, customRule, ruleParamDto);
+
+        // Update linked active rule params
+        for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
+          for (ActiveRuleParamDto activeRuleParamDto : activeRuleParams.get(activeRuleDto)) {
+            if (activeRuleParamDto.getKey().equals(key)) {
+              dbClient.activeRuleDao().updateParam(dbSession, activeRuleDto, activeRuleParamDto.setValue(value));
             }
           }
-        } else {
-          // Delete rule param
-          dbClient.ruleDao().removeRuleParam(dbSession, customRule, ruleParamDto);
-
-          // Delete linked active rule params
-          for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
-            for (ActiveRuleParamDto activeRuleParamDto : activeRuleParams.get(activeRuleDto)) {
-              if (activeRuleParamDto.getKey().equals(key)) {
-                dbClient.activeRuleDao().deleteParam(dbSession, activeRuleDto, activeRuleParamDto);
-              }
+        }
+      } else {
+        // Delete rule param
+        dbClient.ruleDao().removeRuleParam(dbSession, customRule, ruleParamDto);
+
+        // Delete linked active rule params
+        for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
+          for (ActiveRuleParamDto activeRuleParamDto : activeRuleParams.get(activeRuleDto)) {
+            if (activeRuleParamDto.getKey().equals(key)) {
+              dbClient.activeRuleDao().deleteParam(dbSession, activeRuleDto, activeRuleParamDto);
             }
           }
         }
-        paramKeys.add(key);
       }
+      paramKeys.add(key);
+    }
+  }
 
-      // Browse template rule parameters to create new parameters
-      for (RuleParamDto templateRuleParam : templateRuleParams) {
-        String key = templateRuleParam.getName();
-        if (!paramKeys.contains(key)) {
-          String value = update.parameter(key);
-          if (!Strings.isNullOrEmpty(value)) {
-
-            // Create new param
-            RuleParamDto paramDto = RuleParamDto.createFor(customRule)
-              .setName(key)
-              .setDescription(templateRuleParam.getDescription())
-              .setDefaultValue(value)
-              .setType(templateRuleParam.getType());
-            dbClient.ruleDao().addRuleParam(dbSession, customRule, paramDto);
-
-            // Create new active rule param
-            for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
-              dbClient.activeRuleDao().addParam(dbSession, activeRuleDto, ActiveRuleParamDto.createFor(paramDto).setValue(value));
-            }
+  private void createNewParameters(DbSession dbSession, RuleUpdate update, RuleDto customRule, List<RuleParamDto> templateRuleParams, List<String> paramKeys,
+                                   Multimap<RuleDto, ActiveRuleDto> activeRules){
+    for (RuleParamDto templateRuleParam : templateRuleParams) {
+      String key = templateRuleParam.getName();
+      if (!paramKeys.contains(key)) {
+        String value = update.parameter(key);
+        if (!Strings.isNullOrEmpty(value)) {
+
+          // Create new param
+          RuleParamDto paramDto = RuleParamDto.createFor(customRule)
+            .setName(key)
+            .setDescription(templateRuleParam.getDescription())
+            .setDefaultValue(value)
+            .setType(templateRuleParam.getType());
+          dbClient.ruleDao().addRuleParam(dbSession, customRule, paramDto);
+
+          // Create new active rule param
+          for (ActiveRuleDto activeRuleDto : activeRules.get(customRule)) {
+            dbClient.activeRuleDao().addParam(dbSession, activeRuleDto, ActiveRuleParamDto.createFor(paramDto).setValue(value));
           }
         }
       }
index edc294c2e6f8ba58e70d05d978573a0e1a8ac346..c7cd45ef14a70d925ceaa04af69d0d8373e4033c 100644 (file)
@@ -35,6 +35,7 @@ import org.sonar.server.search.action.IndexAction;
 import org.sonar.server.search.action.KeyIndexAction;
 
 import javax.annotation.CheckForNull;
+
 import java.sql.Timestamp;
 import java.util.Date;
 import java.util.List;
@@ -92,7 +93,6 @@ public class RuleDao extends BaseDao<RuleMapper, RuleDto, RuleKey> {
     return mapper(session).selectById(rule.getTemplateId());
   }
 
-
   @Override
   public void synchronizeAfter(final DbSession session, Date date) {
     session.select("selectKeysOfRulesUpdatedSince", new Timestamp(date.getTime()), new ResultHandler() {