modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
| 28 +++-------
1 file changed, 10 insertions(+), 18 deletions(-)
New commits:
commit 2eef3b4fcd05fc1b248ab3c95fbc115e3758079d
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Wed May 29 13:48:05 2013 +0200
[BZ 967542] - UI shows confusing units when editing Availability Duration alert
condition type
Now if user iserts e.g. 90 mins and reopens the dialog, it won't display
1.5 hours anymore, but 90 mins as expected.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
index 104b84c..6c41897 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
@@ -38,6 +38,7 @@ import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
import org.rhq.core.domain.measurement.MeasurementUnits;
+import org.rhq.core.domain.measurement.composite.MeasurementNumericValueAndUnits;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.util.FormUtility;
@@ -238,26 +239,17 @@ public class DurationItem extends CanvasItem {
this.form.setValue(FIELD_VALUE, formattedOutput);
setValue(formattedOutput);
} else {
- String valueWithUnits = MeasurementConverterClient.format((double)
longValue,
- MeasurementUnits.MILLISECONDS, true);
- String[] chunks = valueWithUnits.split(" ");
- String value = chunks[0];
- if (value.endsWith(".0")) {
- value = value.substring(0, value.indexOf(".0"));
+ MeasurementNumericValueAndUnits valueWithUnits;
+ if (longValue % HOUR_IN_MILLIS == 0) {
+ valueWithUnits = MeasurementConverterClient.fit((double) longValue,
MeasurementUnits.MILLISECONDS,
+ MeasurementUnits.HOURS, MeasurementUnits.HOURS);
+ } else {
+ valueWithUnits = MeasurementConverterClient.fit((double) longValue,
MeasurementUnits.MILLISECONDS,
+ MeasurementUnits.MINUTES, MeasurementUnits.MINUTES);
}
- this.form.setValue(FIELD_VALUE, value);
- String units = chunks[1];
SelectItem unitsItem = (SelectItem) this.form.getItem(FIELD_UNITS);
- if
(MeasurementConverterClient.getMeasurementUnitAbbreviation(MeasurementUnits.SECONDS).equals(units))
{
- unitsItem.setValue(TimeUnit.SECONDS.name().toLowerCase());
- } else if
(MeasurementConverterClient.getMeasurementUnitAbbreviation(MeasurementUnits.MINUTES)
- .equals(units)) {
- unitsItem.setValue(TimeUnit.MINUTES.name().toLowerCase());
- } else if
(MeasurementConverterClient.getMeasurementUnitAbbreviation(MeasurementUnits.HOURS).equals(units))
{
- unitsItem.setValue(TimeUnit.HOURS.name().toLowerCase());
- } else if
(MeasurementConverterClient.getMeasurementUnitAbbreviation(MeasurementUnits.DAYS).equals(units))
{
- unitsItem.setValue(TimeUnit.DAYS.name().toLowerCase());
- }
+ this.form.setValue(FIELD_VALUE, valueWithUnits.getValue().intValue());
+ unitsItem.setValue(valueWithUnits.getUnits().name().toLowerCase());
}
}
Show replies by date