[jboss-cvs] jboss-seam/src/main/org/jboss/seam/util ...

Gavin King gavin.king at jboss.com
Tue Sep 26 23:53:50 EDT 2006


  User: gavin   
  Date: 06/09/26 23:53:50

  Modified:    src/main/org/jboss/seam/util   Reflections.java
  Added:       src/main/org/jboss/seam/util   Parameters.java
  Log:
  stateful seam interceptors
  page parameters
  crud framework prototype
  bugfixes to PC passivation stuff
  
  Revision  Changes    Path
  1.10      +3 -3      jboss-seam/src/main/org/jboss/seam/util/Reflections.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Reflections.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Reflections.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- Reflections.java	9 Aug 2006 21:39:50 -0000	1.9
  +++ Reflections.java	27 Sep 2006 03:53:50 -0000	1.10
  @@ -1,4 +1,4 @@
  -//$Id: Reflections.java,v 1.9 2006/08/09 21:39:50 gavin Exp $
  +//$Id: Reflections.java,v 1.10 2006/09/27 03:53:50 gavin Exp $
   package org.jboss.seam.util;
   
   import java.beans.Introspector;
  @@ -97,7 +97,7 @@
      
      private static String toString(Method method)
      {
  -      return Strings.unqualify( method.getClass().getName() ) + 
  +      return Strings.unqualify( method.getDeclaringClass().getName() ) + 
               '.' + 
               method.getName() + 
               '(' + 
  @@ -107,7 +107,7 @@
      
      private static String toString(Field field)
      {
  -      return Strings.unqualify( field.getClass().getName() ) + 
  +      return Strings.unqualify( field.getDeclaringClass().getName() ) + 
               '.' + 
               field.getName();
      }
  
  
  
  1.1      date: 2006/09/27 03:53:50;  author: gavin;  state: Exp;jboss-seam/src/main/org/jboss/seam/util/Parameters.java
  
  Index: Parameters.java
  ===================================================================
  package org.jboss.seam.util;
  
  import java.lang.reflect.Array;
  import java.util.Map;
  
  import javax.faces.context.FacesContext;
  import javax.faces.convert.Converter;
  import javax.servlet.ServletRequest;
  
  import org.jboss.seam.contexts.Lifecycle;
  
  public class Parameters
  {
  
     public static Object convertRequestParameter(String requestParameter, Class type)
     {
        if ( String.class.equals(type) ) return requestParameter;
     
        FacesContext facesContext = FacesContext.getCurrentInstance();
        Converter converter = facesContext.getApplication().createConverter(type);
        if (converter==null)
        {
           throw new IllegalArgumentException("no converter for type: " + type);
        }
        return converter.getAsObject( facesContext, facesContext.getViewRoot(), requestParameter );
     }
  
     public static Map<String, String[]> getRequestParameters()
     {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        if ( facesContext != null )
        {
           return facesContext.getExternalContext().getRequestParameterValuesMap();
        }
        
        ServletRequest servletRequest = Lifecycle.getServletRequest();
        if ( servletRequest != null )
        {
           return servletRequest.getParameterMap();
        }
        
        return null;
     }
  
     public static Object convertMultiValueRequestParameter(Map<String, String[]> requestParameters, String name, Class<?> type)
     {
        String[] array = requestParameters.get(name);
        if (array==null || array.length==0)
        {
           return null;
        }
        else
        {
           if ( type.isArray() )
           {
                 int length = Array.getLength(array);
                 Class<?> elementType = type.getComponentType();
                 Object newInstance = Array.newInstance(elementType, length);
                 for ( int i=0; i<length; i++ )
                 {
                    Object element = convertRequestParameter( (String) Array.get(array, i), elementType );
                    Array.set( newInstance, i, element );
                 }
                 return newInstance;
           }
           else
           {
              return convertRequestParameter( array[0], type );
           }
        }
     }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list