You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by gv...@apache.org on 2007/07/28 18:56:49 UTC
svn commit: r560569 -
/shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java
Author: gvanmatre
Date: Sat Jul 28 09:56:48 2007
New Revision: 560569
URL: http://svn.apache.org/viewvc?view=rev&rev=560569
Log:
When the shale-tiger Property annotation is evaluated, a nifty type converter is used to coerce the source data type to the target data type. This utility reuses existing JSF converters outside the context of rendering. It assumes a FacesContext and UIViewRoot. I removed the requirement that a UIViewRoot is needed. Since we are using converters for outside of the component tree, we just need a object that extends UIComponent (SHALE-406).
Modified:
shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java
Modified: shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java
URL: http://svn.apache.org/viewvc/shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java?view=diff&rev=560569&r1=560568&r2=560569
==============================================================================
--- shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java (original)
+++ shale/framework/branches/SHALE_1_0_X/shale-core/src/main/java/org/apache/shale/util/ConverterHelper.java Sat Jul 28 09:56:48 2007
@@ -18,6 +18,7 @@
package org.apache.shale.util;
import javax.faces.FacesException;
+import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
@@ -65,7 +66,13 @@
if (String.class == type) {
return value;
}
- return converter(context, type).getAsObject(context, context.getViewRoot(), value);
+
+ UIViewRoot root = context.getViewRoot();
+ if (root == null) {
+ root = new UIViewRoot();
+ }
+
+ return converter(context, type).getAsObject(context, root, value);
}
@@ -88,7 +95,12 @@
} else if ((String.class == type) && (value instanceof String)) {
return (String) value;
}
- return converter(context, type).getAsString(context, context.getViewRoot(), value);
+ UIViewRoot root = context.getViewRoot();
+ if (root == null) {
+ root = new UIViewRoot();
+ }
+
+ return converter(context, type).getAsString(context, root, value);
}