Gianny,
Thanks for looking into this. I did consider the easy way out. But
the retrun type is part of the method signature. What happens if we
have
public class Myclass {
public Object getObjectName()
public String getObjectName()
..........................
}
If JMXUtil was patched which one should it return?
Thanks
Anita
--- Gianny Damour <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am quickly scanning this commit and I would like to know if it was
>
> not a little bit less intrusive to keep the existing addOperation and
>
> search for the return type of the added operations against the target
>
> gbeanType. This way, developers do not need to specify the return
> type of the operations (also, the migration of the existing GBeanInfo
>
> could have been avoided).
>
> After reading GERONIMO-2607, it seems that the goal of the change was
>
> to have a return type defined within JConsole for the GBean
> operations. It seems that patching JMXUtil.toMBeanInfo would have
> been another implementation approach: while getting the exposed
> operations, the GBean class could be searched for returned types. One
>
> of the advantages would have been to keep backward compatibility.
>
> Thanks,
> Gianny
>
> On 11/12/2006, at 11:14 AM, [EMAIL PROTECTED] wrote:
>
> > Author: akulshreshtha
> > Date: Sun Dec 10 16:14:46 2006
> > New Revision: 485321
> >
> > URL: http://svn.apache.org/viewvc?view=rev&rev=485321
> > Log:
> > GERONIMO-2607 Added returnType to GOperationInfo, This modifies
> > GBeanInfoBuilder and breaks backward compatibility
> >
> > Modified:
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/DynamicGOperationInfo.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GBeanInfoBuilder.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GOperationInfo.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/runtime/GBeanOperation.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/test/java/org/
> > apache/geronimo/gbean/GBeanInfoTest.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/test/java/org/
> > apache/geronimo/kernel/MockGBean.java
> >
> geronimo/server/trunk/modules/geronimo-kernel/src/test/java/org/
> > apache/geronimo/kernel/config/MyGBean.java
> >
> geronimo/server/trunk/modules/geronimo-system/src/main/java/org/
> > apache/geronimo/system/jmx/JMXUtil.java
> >
> geronimo/server/trunk/modules/geronimo-system/src/main/java/org/
> > apache/geronimo/system/logging/log4j/Log4jService.java
> >
> > Modified: geronimo/server/trunk/modules/geronimo-kernel/src/main/
> > java/org/apache/geronimo/gbean/DynamicGOperationInfo.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
> > geronimo-kernel/src/main/java/org/apache/geronimo/gbean/
> > DynamicGOperationInfo.java?view=diff&rev=485321&r1=485320&r2=485321
> >
>
======================================================================
>
> > ========
> > ---
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/DynamicGOperationInfo.java (original)
> > +++
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/DynamicGOperationInfo.java Sun Dec 10
> > 16:14:46 2006
> > @@ -24,14 +24,14 @@
> > */
> > public class DynamicGOperationInfo extends GOperationInfo {
> > public DynamicGOperationInfo(String name) {
> > - super(name);
> > + super(name, "java.lang.Object");
> > }
> >
> > public DynamicGOperationInfo(String name, String[] paramTypes)
> {
> > - super(name, paramTypes);
> > + super(name, paramTypes, "java.lang.Object");
> > }
> >
> > public DynamicGOperationInfo(String name, List parameters) {
> > - super(name, parameters);
> > + super(name, parameters, "java.lang.Object");
> > }
> > }
> >
> > Modified: geronimo/server/trunk/modules/geronimo-kernel/src/main/
> > java/org/apache/geronimo/gbean/GBeanInfoBuilder.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
> > geronimo-kernel/src/main/java/org/apache/geronimo/gbean/
> > GBeanInfoBuilder.java?view=diff&rev=485321&r1=485320&r2=485321
> >
>
======================================================================
>
> > ========
> > ---
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GBeanInfoBuilder.java (original)
> > +++
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GBeanInfoBuilder.java Sun Dec 10 16:14:46
> 2006
> > @@ -187,8 +187,7 @@
> >
> > for (Iterator i = source.getOperations().iterator();
> > i.hasNext();) {
> > GOperationInfo operationInfo = (GOperationInfo)
> > i.next();
> > - operations.put(new GOperationSignature
> > (operationInfo.getName(),
> > - operationInfo.getParameterList()),
> > operationInfo);
> > + operations.put(new GOperationSignature
> > (operationInfo.getName(), operationInfo.getParameterList()),
> > operationInfo);
> > }
> >
> > for (Iterator iterator = source.getReferences
> > ().iterator(); iterator.hasNext();) {
> > @@ -346,7 +345,7 @@
> > method.getName()));
> > }
> > } else {
> > - addOperation(new GOperationInfo(method.getName(),
>
> > method.getParameterTypes()));
> > + addOperation(new GOperationInfo(method.getName(),
>
> > method.getParameterTypes(), method.getReturnType().getName()));
> > }
> > }
> > addInterface(interfaces, intf);
> > @@ -401,13 +400,27 @@
> > public void addOperation(GOperationInfo operationInfo) {
> > operations.put(new GOperationSignature
> > (operationInfo.getName(), operationInfo.getParameterList()),
> > operationInfo);
> > }
> > -
> > +
> > + /**
> > + * @deprecated
> > + */
> > public void addOperation(String name) {
> > - addOperation(new GOperationInfo(name, NO_ARGS));
> > + addOperation(new GOperationInfo(name, NO_ARGS, ""));
> > }
> >
> > + /**
> > + * @deprecated
> > + */
> > public void addOperation(String name, Class[] paramTypes) {
> > - addOperation(new GOperationInfo(name, paramTypes));
> > + addOperation(new GOperationInfo(name, paramTypes, ""));
> > + }
> > +
> > + public void addOperation(String name, String returnType) {
> > + addOperation(new GOperationInfo(name, NO_ARGS,
> returnType));
> > + }
> > +
> > + public void addOperation(String name, Class[] paramTypes,
> > String returnType) {
> > + addOperation(new GOperationInfo(name, paramTypes,
> > returnType));
> > }
> >
> > public void addReference(GReferenceInfo info) {
> >
> > Modified: geronimo/server/trunk/modules/geronimo-kernel/src/main/
> > java/org/apache/geronimo/gbean/GOperationInfo.java
> > URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/
> > geronimo-kernel/src/main/java/org/apache/geronimo/gbean/
> > GOperationInfo.java?view=diff&rev=485321&r1=485320&r2=485321
> >
>
======================================================================
>
> > ========
> > ---
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GOperationInfo.java (original)
> > +++
> geronimo/server/trunk/modules/geronimo-kernel/src/main/java/org/
> > apache/geronimo/gbean/GOperationInfo.java Sun Dec 10 16:14:46 2006
> > @@ -33,7 +33,12 @@
> > * The name of this method.
>
=== message truncated ===
____________________________________________________________________________________
Cheap talk?
Check out Yahoo! Messenger's low PC-to-Phone call rates.
http://voice.yahoo.com