]> source.dussan.org Git - sonarqube.git/commitdiff
Decrease two methods complexity
authorJulien Lancelot <julien.lancelot@gmail.com>
Tue, 4 Dec 2012 09:34:34 +0000 (10:34 +0100)
committerJulien Lancelot <julien.lancelot@gmail.com>
Tue, 4 Dec 2012 09:34:34 +0000 (10:34 +0100)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/Periods.java
plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/timemachine/PeriodsTest.java
sonar-batch/src/main/java/org/sonar/batch/bootstrap/DurationLabel.java

index c8424b62163d3febfc8053028a8351b9efd4de3d..74d47c624e69c74f017e653edbed680ed15cfa09 100644 (file)
@@ -43,31 +43,30 @@ public class Periods implements BatchExtension {
     String param = snapshot.getPeriodModeParameter(periodIndex);
     Date date = snapshot.getPeriodDate(periodIndex);
 
+    String label = "";
     if (mode.equals(CoreProperties.TIMEMACHINE_MODE_DAYS)) {
-      return message("over_x_days", param);
+      label = message("over_x_days", param);
     } else if (mode.equals(CoreProperties.TIMEMACHINE_MODE_VERSION)) {
+      label =  message("since_version", param);
       if (date != null) {
-        return message("since_version_detailed", param, convertDate(date));
-      } else {
-        return message("since_version", param);
+        label =  message("since_version_detailed", param, convertDate(date));
       }
     } else if (mode.equals(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS)) {
+      label =  message("since_previous_analysis");
       if (date != null) {
-        return message("since_previous_analysis_detailed", convertDate(date));
-      } else {
-        return message("since_previous_analysis");
+        label =  message("since_previous_analysis_detailed", convertDate(date));
       }
     } else if (mode.equals(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_VERSION)) {
+      label =  message("since_previous_version");
       if (param != null) {
-        return message("since_previous_version_detailed", param);
-      } else {
-        return message("since_previous_version");
+        label =  message("since_previous_version_detailed", param);
       }
     } else if (mode.equals(CoreProperties.TIMEMACHINE_MODE_DATE)) {
-      return message("since_x", convertDate(date));
+      label =  message("since_x", convertDate(date));
     } else {
       throw new IllegalStateException("This mode is not supported : " + mode);
     }
+    return label;
   }
 
   private String message(String key, Object... parameters) {
index da6aa2c623dd9e010c5b97bdf37e6dae91c89810..b8a3f04905aa3472716f28db505cdf8da659bab9 100644 (file)
@@ -78,7 +78,7 @@ public class PeriodsTest {
   }
 
   @Test
-     public void shouldReturnLabelInModePreviousAnalysis() {
+     public void shouldReturnLabelInModePreviousAnalysisWithDateNotNull() {
     when(snapshot.getPeriodMode(periodIndex)).thenReturn(CoreProperties.TIMEMACHINE_MODE_VERSION);
     when(snapshot.getPeriodDate(periodIndex)).thenReturn(new Date());
     when(snapshot.getPeriodModeParameter(periodIndex)).thenReturn(param);
@@ -86,7 +86,10 @@ public class PeriodsTest {
     periods.getLabel(periodIndex);
 
     verify(i18n).message(Mockito.any(Locale.class), Mockito.eq("since_version_detailed"), Mockito.isNull(String.class), Mockito.eq(param), Mockito.anyString());
+  }
 
+  @Test
+  public void shouldReturnLabelInModePreviousAnalysisWithNullDate() {
     when(snapshot.getPeriodMode(periodIndex)).thenReturn(CoreProperties.TIMEMACHINE_MODE_VERSION);
     when(snapshot.getPeriodDate(periodIndex)).thenReturn(null);
     when(snapshot.getPeriodModeParameter(periodIndex)).thenReturn(param);
@@ -97,14 +100,17 @@ public class PeriodsTest {
   }
 
   @Test
-  public void shouldReturnLabelInModePreviousVersion() {
+  public void shouldReturnLabelInModePreviousVersionWithParamNotNull() {
     when(snapshot.getPeriodMode(periodIndex)).thenReturn(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_VERSION);
     when(snapshot.getPeriodModeParameter(periodIndex)).thenReturn(param);
 
     periods.getLabel(periodIndex);
 
     verify(i18n).message(Mockito.any(Locale.class), Mockito.eq("since_previous_version_detailed"), Mockito.isNull(String.class), Mockito.eq(param));
+  }
 
+  @Test
+  public void shouldReturnLabelInModePreviousVersionWithParamNull() {
     when(snapshot.getPeriodMode(periodIndex)).thenReturn(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_VERSION);
     when(snapshot.getPeriodModeParameter(periodIndex)).thenReturn(null);
 
index bc3263fa472ac275f9d4434fe11ae90d03a63006..132d1c12318695667cbd471269c141bf9bb073ac 100644 (file)
@@ -44,7 +44,7 @@ public class DurationLabel {
     double days = hours / 24;
     double years = days / 365;
 
-    final String time;
+    String time = MessageFormat.format(this.years, Math.floor(years));
     if (seconds < 45) {
       time = this.seconds;
     } else if (seconds < 90) {
@@ -65,8 +65,6 @@ public class DurationLabel {
       time = MessageFormat.format(this.months, Math.floor(days / 30));
     } else if (years < 2) {
       time = this.year;
-    } else {
-      time = MessageFormat.format(this.years, Math.floor(years));
     }
 
     return join(prefixAgo, time, suffixAgo);