harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Petrenko" <alexey.a.petre...@gmail.com>
Subject Re: [classlib][beans] RI violates the spec in the Statement class
Date Thu, 03 Aug 2006 14:01:49 GMT
I've moved public MyBean(Integer arg) to the top and test passed after
that. Both on Harmony and RI.

It seems that we just take the first compatible constructor.

SY, Alexey

2006/8/3, Alexei Zakharov <alexei.zakharov@gmail.com>:
> Hi community,
>
> I'd like to attract everyone's attention to another RI inconsistence.
> It seems RI has a bug in the implementation of execute() method of the
> java.beans.Statement class. The spec states:
>
> 1. "When the target's class defines many methods with the given name
> the implementation should choose the most specific method using the
> algorithm specified in the Java Language Specification (15.11)."
> 2. "The reserved method name "new" may be used to call a class's
> constructor as if all classes defined static "new" methods."
>
> But the following test shows that RI does not follow these rules –
> does not choose the most specific method:
>
> import java.beans.*;
>
> public class StatementTest {
>
>    public static class MyBean {
>        static String calledM = null;
>
>        public MyBean(Object arg) {
>            calledM = "new1";
>        }
>
>        public MyBean(Integer arg) {
>            calledM = "new2";
>        }
>
>    }
>
>    public static void main(String argv[]) throws Exception {
>        Statement stmt = new Statement(MyBean.class, "new",
>                new Object[] { new Integer(17) });
>
>        stmt.execute();
>        if (!MyBean.calledM.equals("new2")) {
>            System.out.println("FAIL");
>        } else {
>            System.out.println("PASS");
>        }
>    }
>
> }
>
> The result is "FAIL" on RI. However, it behaves correctly for regular
> methods (that aren't constructors). I think I should post "Non-bug
> differences from RI" JIRA. I am also going to correct our
> implementation of Statement since it is now "compatible" with RI. Any
> objections?
>
> Thanks,
>
> --
> Alexei Zakharov,
> Intel Middleware Product Division
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Alexey A. Petrenko
Intel Middleware Products Division
Mime
View raw message