You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2009/04/22 16:02:36 UTC

svn commit: r767526 - in /harmony/enhanced/classlib/trunk/modules/beans/src: main/java/java/beans/Statement.java test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java

Author: tellison
Date: Wed Apr 22 14:02:36 2009
New Revision: 767526

URL: http://svn.apache.org/viewvc?rev=767526&view=rev
Log:
Apply fix for HARMONY-6159 ([classlib][beans] java.beans.Statement.execute() throws java.lang.IllegalAccessException while RI doesn't)

Modified:
    harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Statement.java
    harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java

Modified: harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Statement.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Statement.java?rev=767526&r1=767525&r2=767526&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Statement.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Statement.java Wed Apr 22 14:02:36 2009
@@ -215,7 +215,9 @@
 					result = action.run();
 				}
             } else {
-                Method method = findMethod(theTarget.getClass(), theMethodName, theArguments, false);
+                Method method = findMethod(theTarget.getClass(), theMethodName,
+                        theArguments, false);
+                method.setAccessible(true);
                 result = method.invoke(theTarget, theArguments);
             }
         } catch (InvocationTargetException ite) {

Modified: harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java?rev=767526&r1=767525&r2=767526&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/StatementTest.java Wed Apr 22 14:02:36 2009
@@ -20,6 +20,7 @@
 import java.beans.DefaultPersistenceDelegate;
 import java.beans.Statement;
 import java.util.Arrays;
+import java.util.TreeMap;
 import java.util.Vector;
 
 import junit.framework.Test;
@@ -1018,6 +1019,33 @@
                 TInspectorCluster.OFFSPRING_OBJECT_LIST);
     }
 
+    public void test_Statement_Execute() throws Exception {
+        MockTreeMapInnerClass innerTreeMap = new MockTreeMapInnerClass();
+        Statement statement = new Statement(innerTreeMap, "get",
+                new Object[] { "key" });
+        statement.execute();
+        assertEquals("value", innerTreeMap.getReturnValue());
+        innerTreeMap.reset();
+    }
+
+    class MockTreeMapInnerClass extends TreeMap {
+
+        private Object returnValue = null;
+
+        public Object getReturnValue() {
+            return returnValue;
+        }
+
+        public void reset() {
+            returnValue = null;
+        }
+
+        @Override
+        public Object get(Object key) {
+            return returnValue = "value";
+        }
+    }
+
     /*
      * Super class of MockObject.
      */