Author: britter
Date: Sun Mar  3 13:14:38 2013
New Revision: 1452036

URL: http://svn.apache.org/r1452036
Log:
[BEANUTILS-411] - BeanUtilsBean.setProperty throws IllegalArgumentException if 
getter of nested property returns null. Thanks to Marcus Zander

Added:
    
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
   (with props)
Modified:
    commons/proper/beanutils/trunk/pom.xml
    commons/proper/beanutils/trunk/src/changes/changes.xml
    
commons/proper/beanutils/trunk/src/main/java/org/apache/commons/beanutils/BeanUtilsBean.java

Modified: commons/proper/beanutils/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/pom.xml?rev=1452036&r1=1452035&r2=1452036&view=diff
==============================================================================
--- commons/proper/beanutils/trunk/pom.xml (original)
+++ commons/proper/beanutils/trunk/pom.xml Sun Mar  3 13:14:38 2013
@@ -144,6 +144,10 @@
       <name>Alex Crown</name>
       <email></email>
     </contributor>    
+    <contributor>
+      <name>Marcus Zander</name>
+      <email>marcu...@gmx.de</email>
+    </contributor>    
   </contributors>
 
   <dependencies>

Modified: commons/proper/beanutils/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/changes/changes.xml?rev=1452036&r1=1452035&r2=1452036&view=diff
==============================================================================
--- commons/proper/beanutils/trunk/src/changes/changes.xml (original)
+++ commons/proper/beanutils/trunk/src/changes/changes.xml Sun Mar  3 13:14:38 
2013
@@ -40,6 +40,9 @@ The <action> type attribute can be add,u
   <body>
 
     <release version="1.8.4" date="in SVN" description="Bug fix for 1.8.3">
+      <action dev="britter" type="fix" issue="BEANUTILS-411" due-to="Marcus 
Zander">
+         BeanUtilsBean.setProperty throws IllegalArgumentException if getter 
of nested property returns null
+      </action>
       <action dev="britter" type="update" issue="BEANUTILS-429" >
          Delete trailing white spaces and white spaces on empty lines from all 
files
       </action>

Modified: 
commons/proper/beanutils/trunk/src/main/java/org/apache/commons/beanutils/BeanUtilsBean.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/main/java/org/apache/commons/beanutils/BeanUtilsBean.java?rev=1452036&r1=1452035&r2=1452036&view=diff
==============================================================================
--- 
commons/proper/beanutils/trunk/src/main/java/org/apache/commons/beanutils/BeanUtilsBean.java
 (original)
+++ 
commons/proper/beanutils/trunk/src/main/java/org/apache/commons/beanutils/BeanUtilsBean.java
 Sun Mar  3 13:14:38 2013
@@ -901,6 +901,9 @@ public class BeanUtilsBean {
         while (resolver.hasNested(name)) {
             try {
                 target = getPropertyUtils().getProperty(target, 
resolver.next(name));
+                if (target == null) { // the value of a nested property is null
+                    return;
+                }
                 name = resolver.remove(name);
             } catch (NoSuchMethodException e) {
                 return; // Skip this property setter

Added: 
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java?rev=1452036&view=auto
==============================================================================
--- 
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
 (added)
+++ 
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
 Sun Mar  3 13:14:38 2013
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.beanutils.bugs;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.beanutils.BeanUtilsBean;
+
+/**
+ * BeanUtilsBean.setProperty throws IllegalArgumentException if getter of 
nested
+ * property returns null
+ *
+ * <p />
+ * See https://issues.apache.org/jira/browse/BEANUTILS-411
+ * <p />
+ *
+ * @version $Revision$ $Date$
+ */
+public class Jira411TestCase extends TestCase {
+
+    private BeanUtilsBean instance;
+    private DummyBean testBean;
+
+    protected void setUp() throws Exception {
+        instance = new BeanUtilsBean();
+        testBean = new DummyBean();
+    }
+
+    public void testSetProperty() throws Exception {
+        instance.setProperty(testBean, "imgLink.x", "1");
+    }
+
+    public class DummyBean {
+
+        private String imgLink = null;
+
+        public String getImgLink() {
+            return imgLink;
+        }
+
+        public void setImgLink(String imgLink) {
+            this.imgLink = imgLink;
+        }
+    }
+}

Propchange: 
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
commons/proper/beanutils/trunk/src/test/java/org/apache/commons/beanutils/bugs/Jira411TestCase.java
------------------------------------------------------------------------------
--- svn:keywords (added)
+++ svn:keywords Sun Mar  3 13:14:38 2013
@@ -0,0 +1,2 @@
+Revision
+Date


Reply via email to