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

Gavin King gavin.king at jboss.com
Thu Sep 7 20:13:40 EDT 2006


  User: gavin   
  Date: 06/09/07 20:13:40

  Modified:    src/main/org/jboss/seam  Component.java
  Log:
  JBSEAM-327 don't enforce required=true during lifecycle callbacks
  
  Revision  Changes    Path
  1.159     +19 -19    jboss-seam/src/main/org/jboss/seam/Component.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Component.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/Component.java,v
  retrieving revision 1.158
  retrieving revision 1.159
  diff -u -b -r1.158 -r1.159
  --- Component.java	9 Aug 2006 21:39:50 -0000	1.158
  +++ Component.java	8 Sep 2006 00:13:40 -0000	1.159
  @@ -88,7 +88,7 @@
    *
    * @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
    * @author Gavin King
  - * @version $Revision: 1.158 $
  + * @version $Revision: 1.159 $
    */
   @Scope(ScopeType.APPLICATION)
   public class Component
  @@ -839,11 +839,11 @@
         }
      }
   
  -   public void inject(Object bean/*, boolean isActionInvocation*/)
  +   public void inject(Object bean, boolean enforceRequired)
      {
         //injectLog(bean);
  -      injectMethods(bean/*, isActionInvocation*/);
  -      injectFields(bean/*, isActionInvocation*/);
  +      injectMethods(bean, enforceRequired);
  +      injectFields(bean, enforceRequired);
         injectDataModelSelection(bean);
         injectParameters(bean);
      }
  @@ -934,10 +934,10 @@
         return converter.getAsObject( facesContext, facesContext.getViewRoot(), requestParameter );
      }
   
  -   public void outject(Object bean)
  +   public void outject(Object bean, boolean enforceRequired)
      {
  -      outjectMethods(bean);
  -      outjectFields(bean);
  +      outjectMethods(bean, enforceRequired);
  +      outjectFields(bean, enforceRequired);
         outjectDataModels(bean);
      }
   
  @@ -1084,27 +1084,27 @@
         return scope.getContext();
      }
   
  -   private void injectMethods(Object bean/*, boolean isActionInvocation*/)
  +   private void injectMethods(Object bean, boolean enforceRequired)
      {
         for (Method method : getInMethods())
         {
            In in = method.getAnnotation(In.class);
            String name = toName(in.value(), method);
  -         setPropertyValue( bean, method, name, getInstanceToInject(in, name, bean) );
  +         setPropertyValue( bean, method, name, getInstanceToInject(in, name, bean, enforceRequired) );
         }
      }
   
  -   private void injectFields(Object bean/*, boolean isActionInvocation*/)
  +   private void injectFields(Object bean, boolean enforceRequired)
      {
         for (Field field : getInFields())
         {
            In in = field.getAnnotation(In.class);
            String name = toName(in.value(), field);
  -         setFieldValue( bean, field, name, getInstanceToInject(in, name, bean) );
  +         setFieldValue( bean, field, name, getInstanceToInject(in, name, bean, enforceRequired) );
         }
      }
   
  -   private void outjectFields(Object bean)
  +   private void outjectFields(Object bean, boolean enforceRequired)
      {
         for (Field field : getOutFields())
         {
  @@ -1112,12 +1112,12 @@
            if (out != null)
            {
               String name = toName(out.value(), field);
  -            setOutjectedValue( out, name, getFieldValue(bean, field, name) );
  +            setOutjectedValue( out, name, getFieldValue(bean, field, name), enforceRequired );
            }
         }
      }
   
  -   private void outjectMethods(Object bean)
  +   private void outjectMethods(Object bean, boolean enforceRequired)
      {
         for (Method method : getOutMethods())
         {
  @@ -1125,14 +1125,14 @@
            if (out != null)
            {
               String name = toName(out.value(), method);
  -            setOutjectedValue( out, name, getPropertyValue(bean, method, name) );
  +            setOutjectedValue( out, name, getPropertyValue(bean, method, name), enforceRequired );
            }
         }
      }
   
  -   private void setOutjectedValue(Out out, String name, Object value)
  +   private void setOutjectedValue(Out out, String name, Object value, boolean enforceRequired)
      {
  -      if (value==null && out.required())
  +      if (value==null && enforceRequired && out.required())
         {
            throw new RequiredException(
                  "Out attribute requires value for component: " +
  @@ -1502,7 +1502,7 @@
         }
      }
   
  -   private Object getInstanceToInject(In in, String name, Object bean)
  +   private Object getInstanceToInject(In in, String name, Object bean, boolean enforceRequired)
      {
         Object result;
         if ( name.startsWith("#") )
  @@ -1527,7 +1527,7 @@
            result = in.scope().getContext().get(name);
         }
   
  -      if (result==null && in.required())
  +      if (result==null && enforceRequired && in.required())
         {
            throw new RequiredException(
                  "In attribute requires value for component: " +
  
  
  



More information about the jboss-cvs-commits mailing list