[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