aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-02-19 14:54:30 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-02-19 14:54:30 +0100
commit9ffdd2a20af48014b9eda19e57100607d1b97409 (patch)
treede9e92b87ac767045bc2422cd06dc0bcfaa04aff /sonar-plugin-api
parent0331ddb1fd35a2259b042b704522610195951488 (diff)
downloadsonarqube-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.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/WorkDurationFactory.java12
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);
}
}