From a0b9f5612d661375fc6fa8e8c97a9b0a5dcd7ff7 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 4 Dec 2012 10:34:34 +0100 Subject: [PATCH] Decrease two methods complexity --- .../plugins/core/timemachine/Periods.java | 21 +++++++++---------- .../plugins/core/timemachine/PeriodsTest.java | 10 +++++++-- .../sonar/batch/bootstrap/DurationLabel.java | 4 +--- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/Periods.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/Periods.java index c8424b62163..74d47c624e6 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/Periods.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/Periods.java @@ -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) { diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/timemachine/PeriodsTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/timemachine/PeriodsTest.java index da6aa2c623d..b8a3f04905a 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/timemachine/PeriodsTest.java +++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/timemachine/PeriodsTest.java @@ -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); diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DurationLabel.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DurationLabel.java index bc3263fa472..132d1c12318 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DurationLabel.java +++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/DurationLabel.java @@ -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); -- 2.39.5