You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2005/12/23 09:24:52 UTC
svn commit: r358768 - in /myfaces:
impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java
share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java
Author: mmarinschek
Date: Fri Dec 23 00:24:41 2005
New Revision: 358768
URL: http://svn.apache.org/viewcvs?rev=358768&view=rev
Log:
patch for myfaces-889. Thanks to Dennis Byrne, another excellent patch!
Modified:
myfaces/impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java
myfaces/share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java
Modified: myfaces/impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java
URL: http://svn.apache.org/viewcvs/myfaces/impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java?rev=358768&r1=358767&r2=358768&view=diff
==============================================================================
--- myfaces/impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java (original)
+++ myfaces/impl/trunk/src/java/org/apache/myfaces/config/ManagedBeanBuilder.java Fri Dec 23 00:24:41 2005
@@ -17,6 +17,7 @@
import org.apache.myfaces.config.element.*;
import org.apache.myfaces.util.ClassUtils;
+import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -111,8 +112,15 @@
switch (property.getType())
{
case ManagedProperty.TYPE_LIST:
- value = propertyResolver.getValue(bean, property.getPropertyName());
-
+
+ // JSF 1.1, 5.3.1.3
+ // Call the property getter, if it exists.
+ // If the getter returns null or doesn't exist, create a java.util.ArrayList,
+ // otherwise use the returned Object ...
+ if(PropertyUtils.isReadable(bean, property.getPropertyName()))
+ value = propertyResolver.getValue(bean, property.getPropertyName());
+ value = value == null ? new ArrayList() : value;
+
if (value instanceof List) {
initializeList(facesContext, property.getListEntries(), (List) value);
@@ -137,8 +145,14 @@
break;
case ManagedProperty.TYPE_MAP:
- value = propertyResolver.getValue(bean, property.getPropertyName());
-
+ // JSF 1.1, 5.3.1.3
+ // Call the property getter, if it exists.
+ // If the getter returns null or doesn't exist, create a java.util.HashMap,
+ // otherwise use the returned java.util.Map .
+ if(PropertyUtils.isReadable(bean, property.getPropertyName()))
+ value = propertyResolver.getValue(bean, property.getPropertyName());
+ value = value == null ? new HashMap() : value;
+
if (! (value instanceof Map)) {
value = new HashMap();
}
Modified: myfaces/share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java
URL: http://svn.apache.org/viewcvs/myfaces/share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java?rev=358768&r1=358767&r2=358768&view=diff
==============================================================================
--- myfaces/share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java (original)
+++ myfaces/share/trunk/src/test/org/apache/myfaces/test/DummyFacesContext.java Fri Dec 23 00:24:41 2005
@@ -29,9 +29,16 @@
public class DummyFacesContext extends FacesContext {
+ private Application application;
+
+ public DummyFacesContext(){ }
+
+ public DummyFacesContext(Application application){
+ this.application = application;
+ }
+
public Application getApplication() {
- // TODO Auto-generated method stub
- return null;
+ return application;
}
public Iterator getClientIdsWithMessages() {
@@ -124,4 +131,4 @@
}
-}
\ No newline at end of file
+}