Author: abelevich
Date: 2011-02-03 07:58:29 -0500 (Thu, 03 Feb 2011)
New Revision: 21414
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractProgressBar.java
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarStateEncoder.java
Log:
RF-10409 ProgressBar: using defaults(min and max) breaks component look and feel
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractProgressBar.java
===================================================================
---
trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractProgressBar.java 2011-02-03
11:33:22 UTC (rev 21413)
+++
trunk/ui/output/ui/src/main/java/org/richfaces/component/AbstractProgressBar.java 2011-02-03
12:58:29 UTC (rev 21414)
@@ -133,7 +133,7 @@
public abstract int getMinValue();
@Attribute
- public abstract Object getValue();
+ public abstract int getValue();
@Attribute(hidden = true)
public abstract String getResource();
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java
===================================================================
---
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java 2011-02-03
11:33:22 UTC (rev 21413)
+++
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java 2011-02-03
12:58:29 UTC (rev 21414)
@@ -121,9 +121,9 @@
if (isResourceMode(component)) {
result = ProgressBarState.initialState;
} else {
- Number minValue =
NumberUtils.getNumber(component.getAttributes().get("minValue"));
- Number maxValue =
NumberUtils.getNumber(component.getAttributes().get("maxValue"));
- Number value =
NumberUtils.getNumber(component.getAttributes().get("value"));
+ Number minValue = NumberUtils.getNumber(getMinValueOrDefault(component));
+ Number maxValue = NumberUtils.getNumber(getMaxValueOrDefault(component));
+ Number value = NumberUtils.getNumber(((AbstractProgressBar)
component).getValue());
if (value.doubleValue() < minValue.doubleValue()) {
result = ProgressBarState.initialState;
@@ -197,7 +197,7 @@
protected int getMaxValueOrDefault(UIComponent component) {
int maxValue = ((AbstractProgressBar) component).getMaxValue();
- if (maxValue == 0) {
+ if (maxValue == Integer.MIN_VALUE) {
maxValue = DEFAULT_MAX_VALUE;
}
return maxValue;
@@ -205,7 +205,7 @@
protected int getMinValueOrDefault(UIComponent component) {
int maxValue = ((AbstractProgressBar) component).getMinValue();
- if (maxValue == 0) {
+ if (maxValue == Integer.MIN_VALUE) {
maxValue = DEFAULT_MIN_VALUE;
}
return maxValue;
Modified:
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarStateEncoder.java
===================================================================
---
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarStateEncoder.java 2011-02-03
11:33:22 UTC (rev 21413)
+++
trunk/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarStateEncoder.java 2011-02-03
12:58:29 UTC (rev 21414)
@@ -27,6 +27,7 @@
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import org.richfaces.component.AbstractProgressBar;
import org.richfaces.component.NumberUtils;
import org.richfaces.component.util.HtmlUtil;
import org.richfaces.renderkit.HtmlConstants;
@@ -37,6 +38,10 @@
*/
class ProgressBarStateEncoder {
+ private static final int DEFAULT_MIN_VALUE = 0;
+
+ private static final int DEFAULT_MAX_VALUE = 100;
+
private boolean renderContentAsPlaceHolders;
public ProgressBarStateEncoder(boolean renderContentAsPlaceHolders) {
@@ -78,9 +83,9 @@
}
protected String getWidth(UIComponent component) {
- Number value =
NumberUtils.getNumber(component.getAttributes().get("value"));
- Number minValue =
NumberUtils.getNumber(component.getAttributes().get("minValue") == null ? 0 :
component.getAttributes().get("minValue"));
- Number maxValue =
NumberUtils.getNumber(component.getAttributes().get("maxValue") == null ? 100 :
component.getAttributes().get("maxValue"));
+ Number value = NumberUtils.getNumber(((AbstractProgressBar)
component).getValue());
+ Number minValue = NumberUtils.getNumber(getMinValueOrDefault(component));
+ Number maxValue = NumberUtils.getNumber(getMaxValueOrDefault(component));
Number percent = calculatePercent(value, minValue, maxValue);
return String.valueOf(percent.intValue());
@@ -169,4 +174,20 @@
throws IOException {
encodeStateFacet(context, component, ProgressBarState.finishState,
currentState);
}
+
+ protected int getMaxValueOrDefault(UIComponent component) {
+ int maxValue = ((AbstractProgressBar) component).getMaxValue();
+ if (maxValue == Integer.MIN_VALUE) {
+ maxValue = DEFAULT_MAX_VALUE;
+ }
+ return maxValue;
+ }
+
+ protected int getMinValueOrDefault(UIComponent component) {
+ int maxValue = ((AbstractProgressBar) component).getMinValue();
+ if (maxValue == Integer.MIN_VALUE) {
+ maxValue = DEFAULT_MIN_VALUE;
+ }
+ return maxValue;
+ }
}