[jboss-cvs] jboss-seam/src/main/org/jboss/seam/util ...
Gavin King
gavin.king at jboss.com
Mon Mar 12 12:56:37 EDT 2007
User: gavin
Date: 07/03/12 12:56:37
Modified: src/main/org/jboss/seam/util Parameters.java
Log:
squash an NPE
Revision Changes Path
1.4 +16 -4 jboss-seam/src/main/org/jboss/seam/util/Parameters.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Parameters.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Parameters.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Parameters.java 6 Dec 2006 04:36:05 -0000 1.3
+++ Parameters.java 12 Mar 2007 16:56:37 -0000 1.4
@@ -4,6 +4,7 @@
import java.util.Collections;
import java.util.Map;
+import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.servlet.ServletRequest;
@@ -18,12 +19,23 @@
if ( String.class.equals(type) ) return requestParameter;
FacesContext facesContext = FacesContext.getCurrentInstance();
+ if (facesContext==null)
+ {
+ throw new IllegalStateException("No FacesContext associated with current thread, cannot convert request parameter type");
+ }
+ else
+ {
Converter converter = facesContext.getApplication().createConverter(type);
if (converter==null)
{
throw new IllegalArgumentException("no converter for type: " + type);
}
- return converter.getAsObject( facesContext, facesContext.getViewRoot(), requestParameter );
+ UIViewRoot viewRoot = facesContext.getViewRoot();
+ return converter.getAsObject(
+ facesContext,
+ viewRoot==null ? new UIViewRoot() : viewRoot, //have to pass something here, or get a totally useless NPE from JSF
+ requestParameter );
+ }
}
public static Map<String, String[]> getRequestParameters()
More information about the jboss-cvs-commits
mailing list