[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