From: Julien Lancelot Date: Tue, 4 Mar 2014 08:30:21 +0000 (+0100) Subject: Fix quality flaws X-Git-Tag: 4.3~575 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fce2631d576ab64674661f9028d86eae13c5e97e;p=sonarqube.git Fix quality flaws --- diff --git a/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java b/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java index 8737323a147..8be028d4134 100644 --- a/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java +++ b/sonar-core/src/main/java/org/sonar/core/i18n/DefaultI18n.java @@ -155,7 +155,7 @@ public class DefaultI18n implements I18n, ServerExtension, BatchExtension, Start List results = workDurationFormatter.format(duration); StringBuilder message = new StringBuilder(); for (WorkDurationFormatter.Result result : results) { - if (result.key().equals(" ")) { + if (" ".equals(result.key())) { message.append(" "); } else { message.append(message(locale, result.key(), null, result.value())); diff --git a/sonar-core/src/main/java/org/sonar/core/i18n/WorkDurationFormatter.java b/sonar-core/src/main/java/org/sonar/core/i18n/WorkDurationFormatter.java index 16e0713c5fa..af7b709e5d5 100644 --- a/sonar-core/src/main/java/org/sonar/core/i18n/WorkDurationFormatter.java +++ b/sonar-core/src/main/java/org/sonar/core/i18n/WorkDurationFormatter.java @@ -28,6 +28,7 @@ import org.sonar.api.utils.WorkDuration; import org.sonar.api.utils.WorkDurationFactory; import javax.annotation.CheckForNull; +import javax.annotation.Nullable; import java.util.List; @@ -41,32 +42,37 @@ public class WorkDurationFormatter implements ServerComponent, BatchExtension { this.workDurationFactory = workDurationFactory; } - public List format(long durationInSeconds) { - List results = newArrayList(); - if (durationInSeconds == 0) { + public List format(long durationInMinutes) { + if (durationInMinutes == 0) { return newArrayList(new Result("0", null)); } - boolean isNegative = durationInSeconds < 0; - Long absDuration = Math.abs(durationInSeconds); - WorkDuration workDuration = workDurationFactory.createFromMinutes(absDuration); + boolean isNegative = durationInMinutes < 0; + Long absDuration = Math.abs(durationInMinutes); + return format(workDurationFactory.createFromMinutes(absDuration), isNegative); + } + + private List format(WorkDuration workDuration, boolean isNegative) { + List results = newArrayList(); if (workDuration.days() > 0) { results.add(message("work_duration.x_days", isNegative ? -1 * workDuration.days() : workDuration.days())); } if (workDuration.hours() > 0 && workDuration.days() < 10) { - if (!results.isEmpty()) { - results.add(new Result(" ", null)); - } + addSpaceIfNeeded(results); results.add(message("work_duration.x_hours", isNegative && results.isEmpty() ? -1 * workDuration.hours() : workDuration.hours())); } if (workDuration.minutes() > 0 && workDuration.hours() < 10 && workDuration.days() == 0) { - if (!results.isEmpty()) { - results.add(new Result(" ", null)); - } + addSpaceIfNeeded(results); results.add(message("work_duration.x_minutes", isNegative && results.isEmpty() ? -1 * workDuration.minutes() : workDuration.minutes())); } return results; } + private void addSpaceIfNeeded(List results){ + if (!results.isEmpty()) { + results.add(new Result(" ", null)); + } + } + private Result message(String key, @CheckForNull Object parameter) { return new Result(key, parameter); } @@ -75,7 +81,7 @@ public class WorkDurationFormatter implements ServerComponent, BatchExtension { private String key; private Object value; - Result(String key, Object value) { + Result(String key, @Nullable Object value) { this.key = key; this.value = value; } @@ -84,6 +90,7 @@ public class WorkDurationFormatter implements ServerComponent, BatchExtension { return key; } + @CheckForNull Object value() { return value; } diff --git a/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java b/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java index fde05c3068f..d33f3089aea 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/IssueChangelogFormatter.java @@ -74,7 +74,6 @@ public class IssueChangelogFormatter implements ServerComponent { newValueString = i18n.formatWorkDuration(UserSession.get().locale(), Long.parseLong(newValueString)); } if (oldValueString != null) { - // TODO use i18n API oldValueString = i18n.formatWorkDuration(UserSession.get().locale(), Long.parseLong(oldValueString)); } } diff --git a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java index d955b8d5ab8..0f588f7fd47 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java @@ -137,9 +137,8 @@ public class IssueShowWsHandler implements RequestHandler { String projectName = project != null ? project.longName() != null ? project.longName() : project.name() : null; // Do not display sub project long name if sub project and project are the same - String subProjectName = subProject != null && project != null && !subProject.getId().equals(project.getId()) ? - subProject.longName() != null ? subProject.longName() : subProject.name() : - null; + boolean shoudDisplaySubProjectLongName = subProject != null && project != null && !subProject.getId().equals(project.getId()); + String subProjectName = shoudDisplaySubProjectLongName ? subProject.longName() != null ? subProject.longName() : subProject.name() : null; json .prop("component", issue.componentKey())