[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