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

Gavin King gavin.king at jboss.com
Sun Oct 8 10:01:53 EDT 2006


  User: gavin   
  Date: 06/10/08 10:01:53

  Modified:    src/main/org/jboss/seam  Component.java
  Log:
  refactored framework
  added converters for page parameters
  fixed bugs in <factory/>
  added <factory value=...>
  
  Revision  Changes    Path
  1.176     +14 -8     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.175
  retrieving revision 1.176
  diff -u -b -r1.175 -r1.176
  --- Component.java	7 Oct 2006 18:22:56 -0000	1.175
  +++ Component.java	8 Oct 2006 14:01:53 -0000	1.176
  @@ -107,7 +107,7 @@
    *
    * @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
    * @author Gavin King
  - * @version $Revision: 1.175 $
  + * @version $Revision: 1.176 $
    */
   @Scope(ScopeType.APPLICATION)
   public class Component
  @@ -1481,17 +1481,23 @@
         else
         {
            Init.FactoryMethod factoryMethod = init.getFactory(name);
  -         Init.FactoryMethodBinding methodBinding = init.getFactoryMethodBinding(name);
  +         Init.FactoryBinding methodBinding = init.getFactoryMethodBinding(name);
  +         Init.FactoryBinding valueBinding = init.getFactoryValueBinding(name);
            if (methodBinding!=null) //let the XML take precedence
            {
  -            Object result = methodBinding.methodBinding.invoke(null);
  -            return handleFactoryMethodResult(name, null, result, factoryMethod.scope);
  +            Object result = methodBinding.getMethodBinding().invoke(null);
  +            return handleFactoryMethodResult(name, null, result, methodBinding.getScope());
  +         }
  +         else if (valueBinding!=null) //let the XML take precedence
  +         {
  +            Object result = valueBinding.getValueBinding().getValue();
  +            return handleFactoryMethodResult(name, null, result, valueBinding.getScope());
            }
            else if (factoryMethod!=null)
            {
  -            Object factory = Component.getInstance( factoryMethod.component.getName(), true );
  -            Object result = factoryMethod.component.callComponentMethod(factory, factoryMethod.method);
  -            return handleFactoryMethodResult(name, factoryMethod.component, result, factoryMethod.scope);
  +            Object factory = Component.getInstance( factoryMethod.getComponent().getName(), true );
  +            Object result = factoryMethod.getComponent().callComponentMethod(factory, factoryMethod.getMethod());
  +            return handleFactoryMethodResult(name, factoryMethod.getComponent(), result, factoryMethod.getScope());
            }
            else
            {
  @@ -1509,7 +1515,7 @@
            {
               if (component==null)
               {
  -               throw new IllegalArgumentException("no scope specified for factory method defined in components.xml: " + name);
  +               scope=EVENT;
               }
               else //an @Factory method defaults to the same scope as the component
               {
  
  
  



More information about the jboss-cvs-commits mailing list