You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2009/12/16 10:01:09 UTC
svn commit: r891162 -
/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
Author: lofwyr
Date: Wed Dec 16 09:01:08 2009
New Revision: 891162
URL: http://svn.apache.org/viewvc?rev=891162&view=rev
Log:
TOBAGO-815: make Measure.parse() more flexible
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java?rev=891162&r1=891161&r2=891162&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/layout/Measure.java Wed Dec 16 09:01:08 2009
@@ -31,9 +31,20 @@
// todo: refactor and consolidate with LayoutToken
- public static Measure parse(String value) {
+ public static Measure parse(Object object) {
+ if (object == null) {
+ return PixelMeasure.ZERO; // fixme: may return a "default measure", or is Pixel the default?
+ }
+ if (object instanceof Measure) {
+ return (Measure) object;
+ }
+ if (object instanceof Number) {
+ return new PixelMeasure(((Number) object).intValue());
+ }
+ String value = object instanceof String ? (String) object : object.toString();
+
if (StringUtils.isEmpty(value)) {
- return new PixelMeasure(0); // fixme: may return a "default measure", or is Pixel the default?
+ return PixelMeasure.ZERO; // fixme: may return a "default measure", or is Pixel the default?
}
if (value.toLowerCase().matches("\\d+px")) {// XXX no regexp here: user LayoutTokens.parse !!!
return new PixelMeasure(Integer.parseInt(value.substring(0, value.length() - 2)));