geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <d...@iq80.com>
Subject Re: svn commit: r485321 - in /geronimo/server/trunk/modules: geronimo-kernel/src/main/java/org/apache/geronimo/gbean/ geronimo-kernel/src/main/java/org/apache/geronimo/gbean/runtime/ geronimo-kernel/src/test/java/org/apache/geronimo/gbean/ geronimo-k
Date Tue, 12 Dec 2006 17:22:15 GMT
On Dec 12, 2006, at 5:32 AM, anita kulshreshtha wrote:

>  Thanks Gianny, David J and Dain for providing feedback. I could have
> certainly used it before commiting rev 485321. IIUC, here is what  
> needs
> to be done:
> 1. Revert rev 485321. Make the necessary code changes to
> GBeanInfoBuilder while keeping the signatures of addOpeartion methods
> same.
> 2. GoperationInfo must contain a field named targetClass
> (declaringClass?). There are 2 options:
>    a.. Just add the field and maintain backward compatibility
>    b.. Clean the code, i.e. remove unused field methodName and break
> the compatibility.

Which backward compatibility API, serialization or both?

I prefer we don't break backwards compatibility in the GBean apis  
since they are used everywhere.

>      I am leaning towards b.
> 3. The fact that in some cases GBeanInfoBuilder.addInterfaces() Line
> 295 ends up with two methods with same name and signatures but
> different return type, it is not by design. Most of the time it is due
> to a badly overridden getter/setter/operation, and it is not the
> responsibility of GBeanInfoBuilder to flag that as an error.

In Java5 a method is allowed to override/implement a method with a  
return type that is more specific.  For example:

public interface Intf {
   Object getSomething();
}

public class Clazz implements Intf {
   public String getSomething() {
       return "something"
   }
}

-dain



Mime
View raw message