It is not allowed to have public Object getObjectName() and public String
getObjectName() simultaneously.

--vamsi

On 12/11/06, anita kulshreshtha <[EMAIL PROTECTED]> wrote:

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

Reply via email to