You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by li...@apache.org on 2006/12/18 04:05:23 UTC
svn commit: r488103 - in /harmony/enhanced/classlib/trunk/modules/beans/src:
main/java/java/beans/ main/java/org/apache/harmony/beans/internal/nls/
test/java/org/apache/harmony/beans/tests/java/beans/
Author: liangyx
Date: Sun Dec 17 19:05:23 2006
New Revision: 488103
URL: http://svn.apache.org/viewvc?view=rev&rev=488103
Log:
Apply patch for HARMONY-2495 ([classlib][beans] java.beans.EventHandler.invoke( Object,Method method,Object[] arguments) does not throw unspecified NPE if method==null)
Modified:
harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/EventHandler.java
harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/internal/nls/messages.properties
harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/EventHandler.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/EventHandler.java?view=diff&rev=488103&r1=488102&r2=488103
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/EventHandler.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/EventHandler.java Sun Dec 17 19:05:23 2006
@@ -60,7 +60,6 @@
// if a valid object
if (handler instanceof EventHandler) {
-
// if the method from the Object class is called
if (method.getDeclaringClass().equals(Object.class)) {
if (method.getName().equals("hashCode") && //$NON-NLS-1$
@@ -98,6 +97,12 @@
"beans.4D"));
}
}
+ }
+ } else {
+ //HARMONY-2495
+ if (null == method) {
+ throw new NullPointerException(Messages.getString(
+ "beans.55")); //$NON-NLS-1$
}
}
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/internal/nls/messages.properties
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/internal/nls/messages.properties?view=diff&rev=488103&r1=488102&r2=488103
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/internal/nls/messages.properties (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/main/java/org/apache/harmony/beans/internal/nls/messages.properties Sun Dec 17 19:05:23 2006
@@ -100,3 +100,4 @@
beans.52=listenerMethodName(s) is null
beans.53=eventSetName is null
beans.54=listenerType is null
+beans.55=Method is null
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java?view=diff&rev=488103&r1=488102&r2=488103
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/EventHandlerTest.java Sun Dec 17 19:05:23 2006
@@ -732,6 +732,14 @@
new Class[] { Object.class });
assertEquals(Boolean.FALSE, handler.invoke(proxy, equalsMethod,
new String[] { "mock" }));
+ // Test null method with non-proxy Object.
+ handler = new EventHandler(new Object(), "a", "a", "a");
+ try {
+ handler.invoke(new Object(), null, new Object[] {});
+ fail("should throw NPE.");
+ } catch (NullPointerException e) {
+ // expected;
+ }
}
public void testIncompatibleMethod() {