]> source.dussan.org Git - sonarqube.git/commitdiff
Fix some quality flaws
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Tue, 17 Jun 2014 10:08:51 +0000 (12:08 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Thu, 19 Jun 2014 07:32:34 +0000 (09:32 +0200)
sonar-batch/src/main/java/org/sonar/batch/index/MeasurePersister.java

index 2edf522df7abfb1f53aad9d4c0bc611b68f6b07e..e317fe8056607436ca73889a3ca9771df0efaba6 100644 (file)
@@ -31,12 +31,13 @@ import org.sonar.api.rule.RuleKey;
 import org.sonar.api.rules.Rule;
 import org.sonar.api.rules.RuleFinder;
 import org.sonar.api.technicaldebt.batch.Characteristic;
-import org.sonar.api.utils.SonarException;
 import org.sonar.batch.index.Cache.Entry;
 import org.sonar.batch.scan.measure.MeasureCache;
 import org.sonar.core.persistence.DbSession;
 import org.sonar.core.persistence.MyBatis;
 
+import javax.annotation.Nullable;
+
 public final class MeasurePersister implements ScanPersister {
   private final MyBatis mybatis;
   private final RuleFinder ruleFinder;
@@ -73,15 +74,15 @@ public final class MeasurePersister implements ScanPersister {
 
       session.commit();
     } catch (Exception e) {
-      throw new SonarException("Unable to save some measures", e);
+      throw new IllegalStateException("Unable to save some measures", e);
     } finally {
       MyBatis.closeQuietly(session);
     }
   }
 
   @VisibleForTesting
-  static boolean shouldPersistMeasure(Resource resource, Measure measure) {
-    return measure.getPersistenceMode().useDatabase() &&
+  static boolean shouldPersistMeasure(@Nullable Resource resource, @Nullable Measure measure) {
+    return resource != null && measure != null && measure.getPersistenceMode().useDatabase() &&
       !(ResourceUtils.isEntity(resource) && measure.isBestValue()) && isMeasureNotEmpty(measure);
   }
 
@@ -114,12 +115,7 @@ public final class MeasurePersister implements ScanPersister {
       model.setCharacteristicId(characteristic.id());
     }
     model.setPersonId(measure.getPersonId());
-    Double value = measure.getValue();
-    if (value != null) {
-      model.setValue(value);
-    } else {
-      model.setValue(null);
-    }
+    model.setValue(measure.getValue());
     if (measure instanceof RuleMeasure) {
       RuleMeasure ruleMeasure = (RuleMeasure) measure;
       model.setRulePriority(ruleMeasure.getSeverity());
@@ -127,7 +123,7 @@ public final class MeasurePersister implements ScanPersister {
       if (ruleKey != null) {
         Rule ruleWithId = ruleFinder.findByKey(ruleKey);
         if (ruleWithId == null) {
-          throw new SonarException("Can not save a measure with unknown rule " + ruleMeasure);
+          throw new IllegalStateException("Can not save a measure with unknown rule " + ruleMeasure);
         }
         model.setRuleId(ruleWithId.getId());
       }