diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-02-19 14:54:30 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-02-19 14:54:30 +0100 |
commit | 9ffdd2a20af48014b9eda19e57100607d1b97409 (patch) | |
tree | de9e92b87ac767045bc2422cd06dc0bcfaa04aff /sonar-plugin-api | |
parent | 0331ddb1fd35a2259b042b704522610195951488 (diff) | |
download | sonarqube-9ffdd2a20af48014b9eda19e57100607d1b97409.tar.gz sonarqube-9ffdd2a20af48014b9eda19e57100607d1b97409.zip |
HOURS_IN_DAY property should not be read in the constructor
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r-- | sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDuration.java | 5 | ||||
-rw-r--r-- | sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDuration.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDuration.java index 30e2e6c8187..6ed686036dc 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDuration.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDuration.java @@ -25,6 +25,7 @@ import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import javax.annotation.Nullable; + import java.io.Serializable; /** @@ -98,9 +99,9 @@ public class WorkDuration implements Serializable { static WorkDuration createFromSeconds(long seconds, int hoursInDay) { int days = (int) (seconds / hoursInDay / 60d / 60d); - long currentDurationInSeconds = seconds - (days * hoursInDay * 60 * 60); + long currentDurationInSeconds = seconds - (days * hoursInDay * 3600); int hours = (int) (currentDurationInSeconds / 60d / 60d); - currentDurationInSeconds = currentDurationInSeconds - (hours * 60 * 60); + currentDurationInSeconds = currentDurationInSeconds - (hours * 3600); int minutes = (int) (currentDurationInSeconds / 60d); return new WorkDuration(seconds, days, hours, minutes, hoursInDay); } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java index 9e84017fe90..7ecf0d83ba3 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java @@ -30,18 +30,22 @@ import org.sonar.api.config.Settings; */ public final class WorkDurationFactory implements BatchComponent, ServerComponent { - private final int hoursInDay; + private final Settings settings; public WorkDurationFactory(Settings settings) { - this.hoursInDay = settings.getInt(CoreProperties.HOURS_IN_DAY); + this.settings = settings; } public WorkDuration createFromWorkingValue(int value, WorkDuration.UNIT unit) { - return WorkDuration.createFromValueAndUnit(value, unit, hoursInDay); + return WorkDuration.createFromValueAndUnit(value, unit, hoursInDay()); } public WorkDuration createFromWorkingLong(long duration) { - return WorkDuration.createFromLong(duration, hoursInDay); + return WorkDuration.createFromLong(duration, hoursInDay()); + } + + private int hoursInDay(){ + return settings.getInt(CoreProperties.HOURS_IN_DAY); } } |